{
  "type": "File",
  "start": 0,
  "end": 3227,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 87,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3227,
    "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": 47,
        "end": 84,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 37
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 54,
            "end": 63,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 16
              }
            },
            "local": {
              "type": "Identifier",
              "start": 54,
              "end": 63,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 16
                },
                "identifierName": "Ccfuturef"
              },
              "name": "Ccfuturef"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 69,
          "end": 83,
          "loc": {
            "start": {
              "line": 2,
              "column": 22
            },
            "end": {
              "line": 2,
              "column": 36
            }
          },
          "extra": {
            "rawValue": "../ccfuturef",
            "raw": "'../ccfuturef'"
          },
          "value": "../ccfuturef"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 86,
        "end": 115,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 29
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 93,
            "end": 98,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 12
              }
            },
            "local": {
              "type": "Identifier",
              "start": 93,
              "end": 98,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 12
                },
                "identifierName": "Ccref"
              },
              "name": "Ccref"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 104,
          "end": 114,
          "loc": {
            "start": {
              "line": 3,
              "column": 18
            },
            "end": {
              "line": 3,
              "column": 28
            }
          },
          "extra": {
            "rawValue": "../ccref",
            "raw": "'../ccref'"
          },
          "value": "../ccref"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 117,
        "end": 188,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 71
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 126,
            "end": 136,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 19
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 126,
              "end": 136,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 19
                },
                "identifierName": "addCommand"
              },
              "name": "addCommand"
            },
            "local": {
              "type": "Identifier",
              "start": 126,
              "end": 136,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 19
                },
                "identifierName": "addCommand"
              },
              "name": "addCommand"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 138,
            "end": 157,
            "loc": {
              "start": {
                "line": 4,
                "column": 21
              },
              "end": {
                "line": 4,
                "column": 40
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 138,
              "end": 157,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 21
                },
                "end": {
                  "line": 4,
                  "column": 40
                },
                "identifierName": "restrictionCommands"
              },
              "name": "restrictionCommands"
            },
            "local": {
              "type": "Identifier",
              "start": 138,
              "end": 157,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 21
                },
                "end": {
                  "line": 4,
                  "column": 40
                },
                "identifierName": "restrictionCommands"
              },
              "name": "restrictionCommands"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 165,
          "end": 187,
          "loc": {
            "start": {
              "line": 4,
              "column": 48
            },
            "end": {
              "line": 4,
              "column": 70
            }
          },
          "extra": {
            "rawValue": "../command/highlevel",
            "raw": "'../command/highlevel'"
          },
          "value": "../command/highlevel"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 190,
        "end": 281,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 91
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 199,
            "end": 205,
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 15
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 199,
              "end": 205,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 9
                },
                "end": {
                  "line": 5,
                  "column": 15
                },
                "identifierName": "Assign"
              },
              "name": "Assign"
            },
            "local": {
              "type": "Identifier",
              "start": 199,
              "end": 205,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 9
                },
                "end": {
                  "line": 5,
                  "column": 15
                },
                "identifierName": "Assign"
              },
              "name": "Assign"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 207,
            "end": 215,
            "loc": {
              "start": {
                "line": 5,
                "column": 17
              },
              "end": {
                "line": 5,
                "column": 25
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 207,
              "end": 215,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 17
                },
                "end": {
                  "line": 5,
                  "column": 25
                },
                "identifierName": "IdToReal"
              },
              "name": "IdToReal"
            },
            "local": {
              "type": "Identifier",
              "start": 207,
              "end": 215,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 17
                },
                "end": {
                  "line": 5,
                  "column": 25
                },
                "identifierName": "IdToReal"
              },
              "name": "IdToReal"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 217,
            "end": 223,
            "loc": {
              "start": {
                "line": 5,
                "column": 27
              },
              "end": {
                "line": 5,
                "column": 33
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 217,
              "end": 223,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 27
                },
                "end": {
                  "line": 5,
                  "column": 33
                },
                "identifierName": "Member"
              },
              "name": "Member"
            },
            "local": {
              "type": "Identifier",
              "start": 217,
              "end": 223,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 27
                },
                "end": {
                  "line": 5,
                  "column": 33
                },
                "identifierName": "Member"
              },
              "name": "Member"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 225,
            "end": 233,
            "loc": {
              "start": {
                "line": 5,
                "column": 35
              },
              "end": {
                "line": 5,
                "column": 43
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 225,
              "end": 233,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 35
                },
                "end": {
                  "line": 5,
                  "column": 43
                },
                "identifierName": "Variable"
              },
              "name": "Variable"
            },
            "local": {
              "type": "Identifier",
              "start": 225,
              "end": 233,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 35
                },
                "end": {
                  "line": 5,
                  "column": 43
                },
                "identifierName": "Variable"
              },
              "name": "Variable"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 235,
            "end": 241,
            "loc": {
              "start": {
                "line": 5,
                "column": 45
              },
              "end": {
                "line": 5,
                "column": 51
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 235,
              "end": 241,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 45
                },
                "end": {
                  "line": 5,
                  "column": 51
                },
                "identifierName": "Return"
              },
              "name": "Return"
            },
            "local": {
              "type": "Identifier",
              "start": 235,
              "end": 241,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 45
                },
                "end": {
                  "line": 5,
                  "column": 51
                },
                "identifierName": "Return"
              },
              "name": "Return"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 243,
            "end": 251,
            "loc": {
              "start": {
                "line": 5,
                "column": 53
              },
              "end": {
                "line": 5,
                "column": 61
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 243,
              "end": 251,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 53
                },
                "end": {
                  "line": 5,
                  "column": 61
                },
                "identifierName": "Sequence"
              },
              "name": "Sequence"
            },
            "local": {
              "type": "Identifier",
              "start": 243,
              "end": 251,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 53
                },
                "end": {
                  "line": 5,
                  "column": 61
                },
                "identifierName": "Sequence"
              },
              "name": "Sequence"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 259,
          "end": 280,
          "loc": {
            "start": {
              "line": 5,
              "column": 69
            },
            "end": {
              "line": 5,
              "column": 90
            }
          },
          "extra": {
            "rawValue": "../command/lowlevel",
            "raw": "'../command/lowlevel'"
          },
          "value": "../command/lowlevel"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 283,
        "end": 330,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 47
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 292,
            "end": 301,
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 18
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 292,
              "end": 301,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 9
                },
                "end": {
                  "line": 6,
                  "column": 18
                },
                "identifierName": "incidence"
              },
              "name": "incidence"
            },
            "local": {
              "type": "Identifier",
              "start": 292,
              "end": 301,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 9
                },
                "end": {
                  "line": 6,
                  "column": 18
                },
                "identifierName": "incidence"
              },
              "name": "incidence"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 309,
          "end": 329,
          "loc": {
            "start": {
              "line": 6,
              "column": 26
            },
            "end": {
              "line": 6,
              "column": 46
            }
          },
          "extra": {
            "rawValue": "../constraint/type",
            "raw": "'../constraint/type'"
          },
          "value": "../constraint/type"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 332,
        "end": 377,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 341,
            "end": 354,
            "loc": {
              "start": {
                "line": 7,
                "column": 9
              },
              "end": {
                "line": 7,
                "column": 22
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 341,
              "end": 354,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 9
                },
                "end": {
                  "line": 7,
                  "column": 22
                },
                "identifierName": "calcSketchPos"
              },
              "name": "calcSketchPos"
            },
            "local": {
              "type": "Identifier",
              "start": 341,
              "end": 354,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 9
                },
                "end": {
                  "line": 7,
                  "column": 22
                },
                "identifierName": "calcSketchPos"
              },
              "name": "calcSketchPos"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 362,
          "end": 376,
          "loc": {
            "start": {
              "line": 7,
              "column": 30
            },
            "end": {
              "line": 7,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "../viewutils",
            "raw": "'../viewutils'"
          },
          "value": "../viewutils"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 379,
        "end": 412,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 33
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 386,
            "end": 397,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 18
              }
            },
            "local": {
              "type": "Identifier",
              "start": 386,
              "end": 397,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 7
                },
                "end": {
                  "line": 8,
                  "column": 18
                },
                "identifierName": "DrawHandler"
              },
              "name": "DrawHandler"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 403,
          "end": 411,
          "loc": {
            "start": {
              "line": 8,
              "column": 24
            },
            "end": {
              "line": 8,
              "column": 32
            }
          },
          "extra": {
            "rawValue": "./draw",
            "raw": "'./draw'"
          },
          "value": "./draw"
        }
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 416,
        "end": 3225,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 86,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 431,
          "end": 3225,
          "loc": {
            "start": {
              "line": 10,
              "column": 15
            },
            "end": {
              "line": 86,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 437,
            "end": 452,
            "loc": {
              "start": {
                "line": 10,
                "column": 21
              },
              "end": {
                "line": 10,
                "column": 36
              },
              "identifierName": "PolylineHandler"
            },
            "name": "PolylineHandler"
          },
          "superClass": {
            "type": "Identifier",
            "start": 461,
            "end": 472,
            "loc": {
              "start": {
                "line": 10,
                "column": 45
              },
              "end": {
                "line": 10,
                "column": 56
              },
              "identifierName": "DrawHandler"
            },
            "name": "DrawHandler"
          },
          "body": {
            "type": "ClassBody",
            "start": 473,
            "end": 3225,
            "loc": {
              "start": {
                "line": 10,
                "column": 57
              },
              "end": {
                "line": 86,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 480,
                "end": 614,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 480,
                  "end": 491,
                  "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": 492,
                    "end": 500,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 16
                      },
                      "end": {
                        "line": 11,
                        "column": 24
                      },
                      "identifierName": "sketcher"
                    },
                    "name": "sketcher"
                  },
                  {
                    "type": "Identifier",
                    "start": 502,
                    "end": 506,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 26
                      },
                      "end": {
                        "line": 11,
                        "column": 30
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 508,
                  "end": 614,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 32
                    },
                    "end": {
                      "line": 15,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 519,
                      "end": 541,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 519,
                        "end": 540,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 519,
                          "end": 524,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 525,
                            "end": 533,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 14
                              },
                              "end": {
                                "line": 12,
                                "column": 22
                              },
                              "identifierName": "sketcher"
                            },
                            "name": "sketcher"
                          },
                          {
                            "type": "Identifier",
                            "start": 535,
                            "end": 539,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 24
                              },
                              "end": {
                                "line": 12,
                                "column": 28
                              },
                              "identifierName": "type"
                            },
                            "name": "type"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 551,
                      "end": 573,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 551,
                        "end": 572,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 551,
                          "end": 565,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 551,
                            "end": 555,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 556,
                            "end": 565,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 13
                              },
                              "end": {
                                "line": 13,
                                "column": 22
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 568,
                          "end": 572,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 25
                            },
                            "end": {
                              "line": 13,
                              "column": 29
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 583,
                      "end": 607,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 583,
                        "end": 606,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 583,
                          "end": 599,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 583,
                            "end": 587,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 588,
                            "end": 599,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 24
                              },
                              "identifierName": "edgeHandler"
                            },
                            "name": "edgeHandler"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 602,
                          "end": 606,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 27
                            },
                            "end": {
                              "line": 14,
                              "column": 31
                            }
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 622,
                "end": 709,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 4
                  },
                  "end": {
                    "line": 20,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 622,
                  "end": 629,
                  "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": 630,
                    "end": 637,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 12
                      },
                      "end": {
                        "line": 17,
                        "column": 19
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 639,
                  "end": 709,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 21
                    },
                    "end": {
                      "line": 20,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 650,
                      "end": 676,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 650,
                        "end": 675,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 650,
                          "end": 669,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 650,
                            "end": 654,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 655,
                            "end": 669,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 13
                              },
                              "end": {
                                "line": 18,
                                "column": 27
                              },
                              "identifierName": "setEdgeHandler"
                            },
                            "name": "setEdgeHandler"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NullLiteral",
                            "start": 670,
                            "end": 674,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 28
                              },
                              "end": {
                                "line": 18,
                                "column": 32
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 686,
                      "end": 702,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 686,
                        "end": 701,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 686,
                          "end": 699,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Super",
                            "start": 686,
                            "end": 691,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 13
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 692,
                            "end": 699,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 14
                              },
                              "end": {
                                "line": 19,
                                "column": 21
                              },
                              "identifierName": "destroy"
                            },
                            "name": "destroy"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 717,
                "end": 791,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 4
                  },
                  "end": {
                    "line": 24,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 721,
                  "end": 733,
                  "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": 736,
                  "end": 791,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 23
                    },
                    "end": {
                      "line": 24,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 747,
                      "end": 784,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 45
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 754,
                        "end": 783,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 15
                          },
                          "end": {
                            "line": 23,
                            "column": 44
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 754,
                          "end": 770,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 15
                            },
                            "end": {
                              "line": 23,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 754,
                            "end": 758,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 15
                              },
                              "end": {
                                "line": 23,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 759,
                            "end": 770,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 20
                              },
                              "end": {
                                "line": 23,
                                "column": 31
                              },
                              "identifierName": "edgeHandler"
                            },
                            "name": "edgeHandler"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 771,
                          "end": 783,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 32
                            },
                            "end": {
                              "line": 23,
                              "column": 44
                            },
                            "identifierName": "restrictions"
                          },
                          "name": "restrictions"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 799,
                "end": 901,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 4
                  },
                  "end": {
                    "line": 28,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 803,
                  "end": 815,
                  "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": 816,
                    "end": 821,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 21
                      },
                      "end": {
                        "line": 26,
                        "column": 26
                      },
                      "identifierName": "value"
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 823,
                  "end": 901,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 28
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 834,
                      "end": 894,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 68
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 838,
                        "end": 854,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 12
                          },
                          "end": {
                            "line": 27,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 838,
                          "end": 842,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 12
                            },
                            "end": {
                              "line": 27,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 843,
                          "end": 854,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 17
                            },
                            "end": {
                              "line": 27,
                              "column": 28
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 856,
                        "end": 894,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 30
                          },
                          "end": {
                            "line": 27,
                            "column": 68
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 856,
                          "end": 893,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 30
                            },
                            "end": {
                              "line": 27,
                              "column": 67
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 856,
                            "end": 885,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 30
                              },
                              "end": {
                                "line": 27,
                                "column": 59
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 856,
                              "end": 872,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 30
                                },
                                "end": {
                                  "line": 27,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 856,
                                "end": 860,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 34
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 861,
                                "end": 872,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 46
                                  },
                                  "identifierName": "edgeHandler"
                                },
                                "name": "edgeHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 873,
                              "end": 885,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 47
                                },
                                "end": {
                                  "line": 27,
                                  "column": 59
                                },
                                "identifierName": "restrictions"
                              },
                              "name": "restrictions"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 888,
                            "end": 893,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 62
                              },
                              "end": {
                                "line": 27,
                                "column": 67
                              },
                              "identifierName": "value"
                            },
                            "name": "value"
                          }
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 909,
                "end": 1296,
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 36,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 909,
                  "end": 923,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 4
                    },
                    "end": {
                      "line": 30,
                      "column": 18
                    },
                    "identifierName": "setEdgeHandler"
                  },
                  "name": "setEdgeHandler"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 924,
                    "end": 935,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 19
                      },
                      "end": {
                        "line": 30,
                        "column": 30
                      },
                      "identifierName": "edgeHandler"
                    },
                    "name": "edgeHandler"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 937,
                  "end": 1296,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 32
                    },
                    "end": {
                      "line": 36,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1012,
                      "end": 1083,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 79
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 1016,
                        "end": 1032,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 12
                          },
                          "end": {
                            "line": 32,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1016,
                          "end": 1020,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 12
                            },
                            "end": {
                              "line": 32,
                              "column": 16
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1021,
                          "end": 1032,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 17
                            },
                            "end": {
                              "line": 32,
                              "column": 28
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1034,
                        "end": 1083,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 30
                          },
                          "end": {
                            "line": 32,
                            "column": 79
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1034,
                          "end": 1082,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 30
                            },
                            "end": {
                              "line": 32,
                              "column": 78
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1034,
                            "end": 1058,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 30
                              },
                              "end": {
                                "line": 32,
                                "column": 54
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1034,
                              "end": 1050,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 30
                                },
                                "end": {
                                  "line": 32,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1034,
                                "end": 1038,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 34
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1039,
                                "end": 1050,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 46
                                  },
                                  "identifierName": "edgeHandler"
                                },
                                "name": "edgeHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1051,
                              "end": 1058,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 47
                                },
                                "end": {
                                  "line": 32,
                                  "column": 54
                                },
                                "identifierName": "destroy"
                              },
                              "name": "destroy"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 1059,
                              "end": 1081,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 55
                                },
                                "end": {
                                  "line": 32,
                                  "column": 77
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 1061,
                                  "end": 1079,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 75
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1061,
                                    "end": 1072,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 68
                                      },
                                      "identifierName": "interaction"
                                    },
                                    "name": "interaction"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 1074,
                                    "end": 1079,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 75
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " don't destroy sketch interaction because we need it",
                          "start": 948,
                          "end": 1002,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 62
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1093,
                      "end": 1124,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 8
                        },
                        "end": {
                          "line": 33,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1093,
                        "end": 1123,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 8
                          },
                          "end": {
                            "line": 33,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1093,
                          "end": 1109,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1093,
                            "end": 1097,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1098,
                            "end": 1109,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 13
                              },
                              "end": {
                                "line": 33,
                                "column": 24
                              },
                              "identifierName": "edgeHandler"
                            },
                            "name": "edgeHandler"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1112,
                          "end": 1123,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 27
                            },
                            "end": {
                              "line": 33,
                              "column": 38
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1134,
                      "end": 1206,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 80
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 1138,
                        "end": 1149,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 12
                          },
                          "end": {
                            "line": 34,
                            "column": 23
                          },
                          "identifierName": "edgeHandler"
                        },
                        "name": "edgeHandler"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1151,
                        "end": 1206,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 25
                          },
                          "end": {
                            "line": 34,
                            "column": 80
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1151,
                          "end": 1205,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 25
                            },
                            "end": {
                              "line": 34,
                              "column": 79
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1151,
                            "end": 1181,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 25
                              },
                              "end": {
                                "line": 34,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1151,
                              "end": 1162,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 25
                                },
                                "end": {
                                  "line": 34,
                                  "column": 36
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1163,
                              "end": 1181,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 37
                                },
                                "end": {
                                  "line": 34,
                                  "column": 55
                                },
                                "identifierName": "removeInteractions"
                              },
                              "name": "removeInteractions"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 1182,
                              "end": 1204,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 56
                                },
                                "end": {
                                  "line": 34,
                                  "column": 78
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 1184,
                                  "end": 1202,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 76
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1184,
                                    "end": 1195,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 69
                                      },
                                      "identifierName": "interaction"
                                    },
                                    "name": "interaction"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 1197,
                                    "end": 1202,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 76
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1216,
                      "end": 1289,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 81
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 1220,
                        "end": 1249,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 12
                          },
                          "end": {
                            "line": 35,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1220,
                          "end": 1231,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 12
                            },
                            "end": {
                              "line": 35,
                              "column": 23
                            },
                            "identifierName": "edgeHandler"
                          },
                          "name": "edgeHandler"
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1235,
                          "end": 1249,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1235,
                            "end": 1239,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1240,
                            "end": 1249,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 32
                              },
                              "end": {
                                "line": 35,
                                "column": 41
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1251,
                        "end": 1289,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 43
                          },
                          "end": {
                            "line": 35,
                            "column": 81
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1251,
                          "end": 1288,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 43
                            },
                            "end": {
                              "line": 35,
                              "column": 80
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1251,
                            "end": 1268,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 43
                              },
                              "end": {
                                "line": 35,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1251,
                              "end": 1262,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 43
                                },
                                "end": {
                                  "line": 35,
                                  "column": 54
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1263,
                              "end": 1268,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 55
                                },
                                "end": {
                                  "line": 35,
                                  "column": 60
                                },
                                "identifierName": "click"
                              },
                              "name": "click"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1269,
                              "end": 1287,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 61
                                },
                                "end": {
                                  "line": 35,
                                  "column": 79
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1269,
                                "end": 1283,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1269,
                                  "end": 1273,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 65
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1274,
                                  "end": 1283,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 75
                                    },
                                    "identifierName": "lastPoint"
                                  },
                                  "name": "lastPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1284,
                                "end": 1287,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 79
                                  },
                                  "identifierName": "pos"
                                },
                                "name": "pos"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1304,
                "end": 1395,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 4
                  },
                  "end": {
                    "line": 40,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1304,
                  "end": 1308,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 4
                    },
                    "end": {
                      "line": 38,
                      "column": 8
                    },
                    "identifierName": "move"
                  },
                  "name": "move"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1309,
                    "end": 1317,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 9
                      },
                      "end": {
                        "line": 38,
                        "column": 17
                      },
                      "identifierName": "position"
                    },
                    "name": "position"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1319,
                  "end": 1395,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 19
                    },
                    "end": {
                      "line": 40,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1330,
                      "end": 1388,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 66
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1334,
                        "end": 1354,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 12
                          },
                          "end": {
                            "line": 39,
                            "column": 32
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 1335,
                          "end": 1354,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 13
                            },
                            "end": {
                              "line": 39,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1335,
                            "end": 1352,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 13
                              },
                              "end": {
                                "line": 39,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1335,
                              "end": 1345,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 13
                                },
                                "end": {
                                  "line": 39,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1335,
                                "end": 1339,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 17
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1340,
                                "end": 1345,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 23
                                  },
                                  "identifierName": "queue"
                                },
                                "name": "queue"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1346,
                              "end": 1352,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 24
                                },
                                "end": {
                                  "line": 39,
                                  "column": 30
                                },
                                "identifierName": "isBusy"
                              },
                              "name": "isBusy"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1356,
                        "end": 1388,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 34
                          },
                          "end": {
                            "line": 39,
                            "column": 66
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1356,
                          "end": 1387,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 34
                            },
                            "end": {
                              "line": 39,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1356,
                            "end": 1377,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 34
                              },
                              "end": {
                                "line": 39,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1356,
                              "end": 1372,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 34
                                },
                                "end": {
                                  "line": 39,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1356,
                                "end": 1360,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 38
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1361,
                                "end": 1372,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 50
                                  },
                                  "identifierName": "edgeHandler"
                                },
                                "name": "edgeHandler"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1373,
                              "end": 1377,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 51
                                },
                                "end": {
                                  "line": 39,
                                  "column": 55
                                },
                                "identifierName": "move"
                              },
                              "name": "move"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1378,
                              "end": 1386,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 56
                                },
                                "end": {
                                  "line": 39,
                                  "column": 64
                                },
                                "identifierName": "position"
                              },
                              "name": "position"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": " returns promise of the new lastPoint",
                    "start": 1403,
                    "end": 1442,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 4
                      },
                      "end": {
                        "line": 42,
                        "column": 43
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1448,
                "end": 2614,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 4
                  },
                  "end": {
                    "line": 66,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1448,
                  "end": 1462,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 4
                    },
                    "end": {
                      "line": 43,
                      "column": 18
                    },
                    "identifierName": "afterEdgeAdded"
                  },
                  "name": "afterEdgeAdded",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1463,
                    "end": 1473,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 19
                      },
                      "end": {
                        "line": 43,
                        "column": 29
                      },
                      "identifierName": "geomParams"
                    },
                    "name": "geomParams"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1475,
                  "end": 2614,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 31
                    },
                    "end": {
                      "line": 66,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1486,
                      "end": 1525,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 47
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1490,
                        "end": 1501,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 12
                          },
                          "end": {
                            "line": 44,
                            "column": 23
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 1491,
                          "end": 1501,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 13
                            },
                            "end": {
                              "line": 44,
                              "column": 23
                            },
                            "identifierName": "geomParams"
                          },
                          "name": "geomParams"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 1503,
                        "end": 1525,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 25
                          },
                          "end": {
                            "line": 44,
                            "column": 47
                          }
                        },
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1510,
                          "end": 1524,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 32
                            },
                            "end": {
                              "line": 44,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1510,
                            "end": 1514,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 32
                              },
                              "end": {
                                "line": 44,
                                "column": 36
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1515,
                            "end": 1524,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 37
                              },
                              "end": {
                                "line": 44,
                                "column": 46
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1537,
                      "end": 1590,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 61
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1543,
                          "end": 1589,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 14
                            },
                            "end": {
                              "line": 46,
                              "column": 60
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1543,
                            "end": 1549,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 14
                              },
                              "end": {
                                "line": 46,
                                "column": 20
                              },
                              "identifierName": "object"
                            },
                            "name": "object"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 1552,
                            "end": 1589,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 23
                              },
                              "end": {
                                "line": 46,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1556,
                              "end": 1565,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 27
                                },
                                "end": {
                                  "line": 46,
                                  "column": 36
                                },
                                "identifierName": "Ccfuturef"
                              },
                              "name": "Ccfuturef"
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1566,
                                "end": 1576,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1566,
                                  "end": 1574,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 45
                                    },
                                    "identifierName": "Variable"
                                  },
                                  "name": "Variable"
                                },
                                "arguments": []
                              },
                              {
                                "type": "Identifier",
                                "start": 1578,
                                "end": 1588,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 59
                                  },
                                  "identifierName": "geomParams"
                                },
                                "name": "geomParams"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1600,
                      "end": 1671,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 79
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1606,
                          "end": 1670,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 14
                            },
                            "end": {
                              "line": 47,
                              "column": 78
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1606,
                            "end": 1616,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 14
                              },
                              "end": {
                                "line": 47,
                                "column": 24
                              },
                              "identifierName": "startPoint"
                            },
                            "name": "startPoint"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1619,
                            "end": 1670,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 27
                              },
                              "end": {
                                "line": 47,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1619,
                              "end": 1639,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 27
                                },
                                "end": {
                                  "line": 47,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1619,
                                "end": 1634,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1619,
                                  "end": 1625,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 33
                                    },
                                    "identifierName": "object"
                                  },
                                  "name": "object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1626,
                                  "end": 1634,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 42
                                    },
                                    "identifierName": "children"
                                  },
                                  "name": "children"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1635,
                                "end": 1639,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 47
                                  },
                                  "identifierName": "find"
                                },
                                "name": "find"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 1640,
                                "end": 1669,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 77
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 1640,
                                    "end": 1645,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 53
                                      },
                                      "identifierName": "child"
                                    },
                                    "name": "child"
                                  }
                                ],
                                "body": {
                                  "type": "CallExpression",
                                  "start": 1649,
                                  "end": 1669,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 77
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1649,
                                    "end": 1667,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 75
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1649,
                                      "end": 1654,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 62
                                        },
                                        "identifierName": "child"
                                      },
                                      "name": "child"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1655,
                                      "end": 1667,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 75
                                        },
                                        "identifierName": "isStartPoint"
                                      },
                                      "name": "isStartPoint"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1681,
                      "end": 1905,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 19
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1687,
                          "end": 1904,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 14
                            },
                            "end": {
                              "line": 50,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1687,
                            "end": 1706,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 14
                              },
                              "end": {
                                "line": 48,
                                "column": 33
                              },
                              "identifierName": "manualConstrCommand"
                            },
                            "name": "manualConstrCommand"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 1709,
                            "end": 1904,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 36
                              },
                              "end": {
                                "line": 50,
                                "column": 18
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 1709,
                              "end": 1767,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 36
                                },
                                "end": {
                                  "line": 48,
                                  "column": 94
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 1709,
                                "end": 1723,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1709,
                                  "end": 1713,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 40
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1714,
                                  "end": 1723,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 50
                                    },
                                    "identifierName": "lastPoint"
                                  },
                                  "name": "lastPoint"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "UnaryExpression",
                                "start": 1727,
                                "end": 1767,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 94
                                  }
                                },
                                "operator": "!",
                                "prefix": true,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 1728,
                                  "end": 1767,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 94
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1728,
                                    "end": 1741,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 68
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1728,
                                      "end": 1732,
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 59
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1733,
                                      "end": 1741,
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 68
                                        },
                                        "identifierName": "sketcher"
                                      },
                                      "name": "sketcher"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1742,
                                    "end": 1767,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 94
                                      },
                                      "identifierName": "autoconstraintIncremental"
                                    },
                                    "name": "autoconstraintIncremental"
                                  },
                                  "computed": false
                                },
                                "extra": {
                                  "parenthesizedArgument": false
                                }
                              }
                            },
                            "consequent": {
                              "type": "CallExpression",
                              "start": 1783,
                              "end": 1884,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 14
                                },
                                "end": {
                                  "line": 49,
                                  "column": 115
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1783,
                                "end": 1793,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 24
                                  },
                                  "identifierName": "addCommand"
                                },
                                "name": "addCommand"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1794,
                                  "end": 1805,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1794,
                                    "end": 1798,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1799,
                                    "end": 1805,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 36
                                      },
                                      "identifierName": "sketch"
                                    },
                                    "name": "sketch"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "ObjectExpression",
                                  "start": 1807,
                                  "end": 1883,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 114
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1809,
                                      "end": 1830,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 61
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1809,
                                        "end": 1814,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 45
                                          },
                                          "identifierName": "class"
                                        },
                                        "name": "class"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 1816,
                                        "end": 1830,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 61
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1816,
                                          "end": 1825,
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 56
                                            },
                                            "identifierName": "incidence"
                                          },
                                          "name": "incidence"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1826,
                                          "end": 1830,
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 61
                                            },
                                            "identifierName": "type"
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1832,
                                      "end": 1870,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 101
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1832,
                                        "end": 1840,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 63
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 71
                                          },
                                          "identifierName": "entities"
                                        },
                                        "name": "entities"
                                      },
                                      "value": {
                                        "type": "ArrayExpression",
                                        "start": 1842,
                                        "end": 1870,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 101
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 1843,
                                            "end": 1857,
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 74
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 88
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 1843,
                                              "end": 1847,
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 78
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1848,
                                              "end": 1857,
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 79
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 88
                                                },
                                                "identifierName": "lastPoint"
                                              },
                                              "name": "lastPoint"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 1859,
                                            "end": 1869,
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 90
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 100
                                              },
                                              "identifierName": "startPoint"
                                            },
                                            "name": "startPoint"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1872,
                                      "end": 1881,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 103
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 112
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1872,
                                        "end": 1877,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 103
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 108
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "value": {
                                        "type": "ObjectExpression",
                                        "start": 1879,
                                        "end": 1881,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 110
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 112
                                          }
                                        },
                                        "properties": []
                                      }
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": {
                              "type": "NullLiteral",
                              "start": 1900,
                              "end": 1904,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 14
                                },
                                "end": {
                                  "line": 50,
                                  "column": 18
                                }
                              }
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1915,
                      "end": 2247,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1919,
                          "end": 2246,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 12
                            },
                            "end": {
                              "line": 57,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1919,
                            "end": 1926,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 12
                              },
                              "end": {
                                "line": 51,
                                "column": 19
                              },
                              "identifierName": "command"
                            },
                            "name": "command"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1929,
                            "end": 2246,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 22
                              },
                              "end": {
                                "line": 57,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1929,
                              "end": 1937,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 22
                                },
                                "end": {
                                  "line": 51,
                                  "column": 30
                                },
                                "identifierName": "Sequence"
                              },
                              "name": "Sequence"
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1952,
                                "end": 2003,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 63
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1952,
                                  "end": 1958,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 18
                                    },
                                    "identifierName": "Assign"
                                  },
                                  "name": "Assign"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 1959,
                                    "end": 1965,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 25
                                      },
                                      "identifierName": "object"
                                    },
                                    "name": "object"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 1967,
                                    "end": 2002,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 62
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 1967,
                                      "end": 1977,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 37
                                        },
                                        "identifierName": "addCommand"
                                      },
                                      "name": "addCommand"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 1978,
                                        "end": 1989,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1978,
                                          "end": 1982,
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1983,
                                          "end": 1989,
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 49
                                            },
                                            "identifierName": "sketch"
                                          },
                                          "name": "sketch"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 1991,
                                        "end": 2001,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 61
                                          },
                                          "identifierName": "geomParams"
                                        },
                                        "name": "geomParams"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "SpreadElement",
                                "start": 2018,
                                "end": 2065,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 59
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 2021,
                                  "end": 2065,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 59
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2021,
                                    "end": 2057,
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2021,
                                      "end": 2034,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2021,
                                        "end": 2025,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2026,
                                        "end": 2034,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 28
                                          },
                                          "identifierName": "sketcher"
                                        },
                                        "name": "sketcher"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2035,
                                      "end": 2057,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 51
                                        },
                                        "identifierName": "autoconstraintCommands"
                                      },
                                      "name": "autoconstraintCommands"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 2058,
                                      "end": 2064,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 58
                                        },
                                        "identifierName": "object"
                                      },
                                      "name": "object"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "SpreadElement",
                                "start": 2080,
                                "end": 2142,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 74
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 2083,
                                  "end": 2142,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 74
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 2083,
                                    "end": 2102,
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 34
                                      },
                                      "identifierName": "restrictionCommands"
                                    },
                                    "name": "restrictionCommands"
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 2103,
                                      "end": 2114,
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2103,
                                        "end": 2107,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2108,
                                        "end": 2114,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 46
                                          },
                                          "identifierName": "sketch"
                                        },
                                        "name": "sketch"
                                      },
                                      "computed": false
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 2116,
                                      "end": 2122,
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 54
                                        },
                                        "identifierName": "object"
                                      },
                                      "name": "object"
                                    },
                                    {
                                      "type": "MemberExpression",
                                      "start": 2124,
                                      "end": 2141,
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 73
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2124,
                                        "end": 2128,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 60
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2129,
                                        "end": 2141,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 73
                                          },
                                          "identifierName": "restrictions"
                                        },
                                        "name": "restrictions"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "Identifier",
                                "start": 2157,
                                "end": 2176,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 31
                                  },
                                  "identifierName": "manualConstrCommand"
                                },
                                "name": "manualConstrCommand"
                              },
                              {
                                "type": "CallExpression",
                                "start": 2191,
                                "end": 2235,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2191,
                                  "end": 2197,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 18
                                    },
                                    "identifierName": "Return"
                                  },
                                  "name": "Return"
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 2198,
                                    "end": 2234,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 2198,
                                      "end": 2206,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 27
                                        },
                                        "identifierName": "IdToReal"
                                      },
                                      "name": "IdToReal"
                                    },
                                    "arguments": [
                                      {
                                        "type": "CallExpression",
                                        "start": 2207,
                                        "end": 2233,
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 54
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 2207,
                                          "end": 2213,
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 34
                                            },
                                            "identifierName": "Member"
                                          },
                                          "name": "Member"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2214,
                                            "end": 2220,
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 41
                                              },
                                              "identifierName": "object"
                                            },
                                            "name": "object"
                                          },
                                          {
                                            "type": "StringLiteral",
                                            "start": 2222,
                                            "end": 2232,
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 53
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "endPoint",
                                              "raw": "'endPoint'"
                                            },
                                            "value": "endPoint"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2257,
                      "end": 2280,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2257,
                        "end": 2279,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2257,
                          "end": 2274,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2257,
                            "end": 2261,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2262,
                            "end": 2274,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 13
                              },
                              "end": {
                                "line": 58,
                                "column": 25
                              },
                              "identifierName": "restrictions"
                            },
                            "name": "restrictions"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2277,
                          "end": 2279,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 28
                            },
                            "end": {
                              "line": 58,
                              "column": 30
                            }
                          },
                          "properties": []
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2290,
                      "end": 2327,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 45
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2296,
                          "end": 2326,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 14
                            },
                            "end": {
                              "line": 59,
                              "column": 44
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2296,
                            "end": 2297,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 14
                              },
                              "end": {
                                "line": 59,
                                "column": 15
                              },
                              "identifierName": "p"
                            },
                            "name": "p"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2300,
                            "end": 2326,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 18
                              },
                              "end": {
                                "line": 59,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2300,
                              "end": 2317,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 18
                                },
                                "end": {
                                  "line": 59,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 2300,
                                "end": 2313,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2300,
                                  "end": 2304,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2305,
                                  "end": 2313,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 31
                                    },
                                    "identifierName": "sketcher"
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2314,
                                "end": 2317,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 35
                                  },
                                  "identifierName": "run"
                                },
                                "name": "run"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2318,
                                "end": 2325,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 43
                                  },
                                  "identifierName": "command"
                                },
                                "name": "command"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2337,
                      "end": 2381,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2337,
                        "end": 2380,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2337,
                          "end": 2378,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2337,
                            "end": 2350,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2337,
                              "end": 2341,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 8
                                },
                                "end": {
                                  "line": 60,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2342,
                              "end": 2350,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 13
                                },
                                "end": {
                                  "line": 60,
                                  "column": 21
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2351,
                            "end": 2378,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 22
                              },
                              "end": {
                                "line": 60,
                                "column": 49
                              },
                              "identifierName": "incrementalSolveConstraints"
                            },
                            "name": "incrementalSolveConstraints"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2391,
                      "end": 2607,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2398,
                        "end": 2606,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 15
                          },
                          "end": {
                            "line": 65,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2398,
                          "end": 2404,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 15
                            },
                            "end": {
                              "line": 61,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2398,
                            "end": 2399,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 15
                              },
                              "end": {
                                "line": 61,
                                "column": 16
                              },
                              "identifierName": "p"
                            },
                            "name": "p"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2400,
                            "end": 2404,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 17
                              },
                              "end": {
                                "line": 61,
                                "column": 21
                              },
                              "identifierName": "then"
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2405,
                            "end": 2605,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 22
                              },
                              "end": {
                                "line": 65,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2405,
                                "end": 2407,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 24
                                  },
                                  "identifierName": "id"
                                },
                                "name": "id"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2411,
                              "end": 2605,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 28
                                },
                                "end": {
                                  "line": 65,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2505,
                                  "end": 2544,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2505,
                                    "end": 2543,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2505,
                                      "end": 2527,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2505,
                                        "end": 2521,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 28
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2505,
                                          "end": 2509,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 16
                                            }
                                          },
                                          "leadingComments": null
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2510,
                                          "end": 2521,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 28
                                            },
                                            "identifierName": "edgeHandler"
                                          },
                                          "name": "edgeHandler"
                                        },
                                        "computed": false,
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2522,
                                        "end": 2527,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 34
                                          },
                                          "identifierName": "click"
                                        },
                                        "name": "click"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 2528,
                                        "end": 2542,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2528,
                                          "end": 2538,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 45
                                            },
                                            "identifierName": "geomParams"
                                          },
                                          "name": "geomParams"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2539,
                                          "end": 2542,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 63,
                                              "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": 2426,
                                      "end": 2491,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 77
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 2558,
                                  "end": 2594,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 48
                                    }
                                  },
                                  "argument": {
                                    "type": "NewExpression",
                                    "start": 2565,
                                    "end": 2593,
                                    "loc": {
                                      "start": {
                                        "line": 64,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 47
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 2569,
                                      "end": 2574,
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 28
                                        },
                                        "identifierName": "Ccref"
                                      },
                                      "name": "Ccref"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 2575,
                                        "end": 2588,
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2575,
                                          "end": 2579,
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2580,
                                          "end": 2588,
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 42
                                            },
                                            "identifierName": "sketcher"
                                          },
                                          "name": "sketcher"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 2590,
                                        "end": 2592,
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 46
                                          },
                                          "identifierName": "id"
                                        },
                                        "name": "id"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " returns promise of the new lastPoint",
                    "start": 1403,
                    "end": 1442,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 4
                      },
                      "end": {
                        "line": 42,
                        "column": 43
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2622,
                "end": 2904,
                "loc": {
                  "start": {
                    "line": 68,
                    "column": 4
                  },
                  "end": {
                    "line": 73,
                    "column": 5
                  }
                },
                "computed": true,
                "key": {
                  "type": "MemberExpression",
                  "start": 2623,
                  "end": 2657,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 5
                    },
                    "end": {
                      "line": 68,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 2623,
                    "end": 2649,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 5
                      },
                      "end": {
                        "line": 68,
                        "column": 31
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 2623,
                      "end": 2637,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 5
                        },
                        "end": {
                          "line": 68,
                          "column": 19
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2623,
                        "end": 2630,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 5
                          },
                          "end": {
                            "line": 68,
                            "column": 12
                          },
                          "identifierName": "Object3"
                        },
                        "name": "Object3"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2631,
                        "end": 2637,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 13
                          },
                          "end": {
                            "line": 68,
                            "column": 19
                          },
                          "identifierName": "Events"
                        },
                        "name": "Events"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2638,
                      "end": 2649,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 20
                        },
                        "end": {
                          "line": 68,
                          "column": 31
                        },
                        "identifierName": "Interaction"
                      },
                      "name": "Interaction"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2650,
                    "end": 2657,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 32
                      },
                      "end": {
                        "line": 68,
                        "column": 39
                      },
                      "identifierName": "Clicked"
                    },
                    "name": "Clicked"
                  },
                  "computed": false
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2659,
                    "end": 2665,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 41
                      },
                      "end": {
                        "line": 68,
                        "column": 47
                      },
                      "identifierName": "object"
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 2667,
                    "end": 2676,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 49
                      },
                      "end": {
                        "line": 68,
                        "column": 58
                      },
                      "identifierName": "hitObject"
                    },
                    "name": "hitObject"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2678,
                  "end": 2904,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 60
                    },
                    "end": {
                      "line": 73,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2689,
                      "end": 2748,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 67
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2695,
                          "end": 2747,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 14
                            },
                            "end": {
                              "line": 69,
                              "column": 66
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2695,
                            "end": 2703,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 14
                              },
                              "end": {
                                "line": 69,
                                "column": 22
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2706,
                            "end": 2747,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 25
                              },
                              "end": {
                                "line": 69,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2706,
                              "end": 2719,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 25
                                },
                                "end": {
                                  "line": 69,
                                  "column": 38
                                },
                                "identifierName": "calcSketchPos"
                              },
                              "name": "calcSketchPos"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 2720,
                                "end": 2733,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2720,
                                  "end": 2729,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 48
                                    },
                                    "identifierName": "hitObject"
                                  },
                                  "name": "hitObject"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2730,
                                  "end": 2733,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 52
                                    },
                                    "identifierName": "ray"
                                  },
                                  "name": "ray"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 2735,
                                "end": 2746,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 65
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2735,
                                  "end": 2739,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 58
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2740,
                                  "end": 2746,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 65
                                    },
                                    "identifierName": "sketch"
                                  },
                                  "name": "sketch"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2758,
                      "end": 2897,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2765,
                        "end": 2896,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 15
                          },
                          "end": {
                            "line": 72,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2765,
                          "end": 2779,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 15
                            },
                            "end": {
                              "line": 70,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2765,
                            "end": 2775,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 15
                              },
                              "end": {
                                "line": 70,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2765,
                              "end": 2769,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 15
                                },
                                "end": {
                                  "line": 70,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2770,
                              "end": 2775,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 20
                                },
                                "end": {
                                  "line": 70,
                                  "column": 25
                                },
                                "identifierName": "queue"
                              },
                              "name": "queue"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2776,
                            "end": 2779,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 26
                              },
                              "end": {
                                "line": 70,
                                "column": 29
                              },
                              "identifierName": "run"
                            },
                            "name": "run"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2780,
                            "end": 2895,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 30
                              },
                              "end": {
                                "line": 72,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": true,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2792,
                              "end": 2895,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 42
                                },
                                "end": {
                                  "line": 72,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2807,
                                  "end": 2884,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 89
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2807,
                                    "end": 2883,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 88
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2807,
                                      "end": 2821,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2807,
                                        "end": 2811,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2812,
                                        "end": 2821,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 26
                                          },
                                          "identifierName": "lastPoint"
                                        },
                                        "name": "lastPoint"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "AwaitExpression",
                                      "start": 2824,
                                      "end": 2883,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 88
                                        }
                                      },
                                      "argument": {
                                        "type": "CallExpression",
                                        "start": 2830,
                                        "end": 2883,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 88
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2830,
                                          "end": 2849,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 54
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 2830,
                                            "end": 2834,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 39
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2835,
                                            "end": 2849,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 54
                                              },
                                              "identifierName": "afterEdgeAdded"
                                            },
                                            "name": "afterEdgeAdded"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 2850,
                                            "end": 2882,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 87
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 2850,
                                              "end": 2872,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 77
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2850,
                                                "end": 2866,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 71
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 2850,
                                                  "end": 2854,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 59
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2855,
                                                  "end": 2866,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 71
                                                    },
                                                    "identifierName": "edgeHandler"
                                                  },
                                                  "name": "edgeHandler"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2867,
                                                "end": 2872,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 77
                                                  },
                                                  "identifierName": "click"
                                                },
                                                "name": "click"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2873,
                                                "end": 2881,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 78
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 86
                                                  },
                                                  "identifierName": "position"
                                                },
                                                "name": "position"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2912,
                "end": 2996,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 4
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2912,
                  "end": 2927,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 75,
                      "column": 19
                    },
                    "identifierName": "consoleComplete"
                  },
                  "name": "consoleComplete"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2928,
                    "end": 2931,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 20
                      },
                      "end": {
                        "line": 75,
                        "column": 23
                      },
                      "identifierName": "cmd"
                    },
                    "name": "cmd"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2933,
                  "end": 2996,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 25
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2944,
                      "end": 2989,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 53
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2951,
                        "end": 2988,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 15
                          },
                          "end": {
                            "line": 76,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2951,
                          "end": 2983,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 15
                            },
                            "end": {
                              "line": 76,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2951,
                            "end": 2967,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 15
                              },
                              "end": {
                                "line": 76,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2951,
                              "end": 2955,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 15
                                },
                                "end": {
                                  "line": 76,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2956,
                              "end": 2967,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 20
                                },
                                "end": {
                                  "line": 76,
                                  "column": 31
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2968,
                            "end": 2983,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 32
                              },
                              "end": {
                                "line": 76,
                                "column": 47
                              },
                              "identifierName": "consoleComplete"
                            },
                            "name": "consoleComplete"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2984,
                            "end": 2987,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 48
                              },
                              "end": {
                                "line": 76,
                                "column": 51
                              },
                              "identifierName": "cmd"
                            },
                            "name": "cmd"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 3004,
                "end": 3126,
                "loc": {
                  "start": {
                    "line": 79,
                    "column": 4
                  },
                  "end": {
                    "line": 81,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3010,
                  "end": 3024,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 10
                    },
                    "end": {
                      "line": 79,
                      "column": 24
                    },
                    "identifierName": "consoleExecute"
                  },
                  "name": "consoleExecute"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3025,
                    "end": 3028,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 25
                      },
                      "end": {
                        "line": 79,
                        "column": 28
                      },
                      "identifierName": "cmd"
                    },
                    "name": "cmd"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3030,
                  "end": 3126,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 30
                    },
                    "end": {
                      "line": 81,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3041,
                      "end": 3119,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 86
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3041,
                        "end": 3118,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 80,
                            "column": 85
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3041,
                          "end": 3055,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3041,
                            "end": 3045,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3046,
                            "end": 3055,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 13
                              },
                              "end": {
                                "line": 80,
                                "column": 22
                              },
                              "identifierName": "lastPoint"
                            },
                            "name": "lastPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "AwaitExpression",
                          "start": 3058,
                          "end": 3118,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 25
                            },
                            "end": {
                              "line": 80,
                              "column": 85
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 3064,
                            "end": 3118,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 31
                              },
                              "end": {
                                "line": 80,
                                "column": 85
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3064,
                              "end": 3083,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 31
                                },
                                "end": {
                                  "line": 80,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3064,
                                "end": 3068,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3069,
                                "end": 3083,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 50
                                  },
                                  "identifierName": "afterEdgeAdded"
                                },
                                "name": "afterEdgeAdded"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 3084,
                                "end": 3117,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 84
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3084,
                                  "end": 3112,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 79
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3084,
                                    "end": 3100,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 67
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3084,
                                      "end": 3088,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3089,
                                      "end": 3100,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 67
                                        },
                                        "identifierName": "edgeHandler"
                                      },
                                      "name": "edgeHandler"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3101,
                                    "end": 3112,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 79
                                      },
                                      "identifierName": "consoleExec"
                                    },
                                    "name": "consoleExec"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3113,
                                    "end": 3116,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 83
                                      },
                                      "identifierName": "cmd"
                                    },
                                    "name": "cmd"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 3134,
                "end": 3222,
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 4
                  },
                  "end": {
                    "line": 85,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3134,
                  "end": 3151,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 4
                    },
                    "end": {
                      "line": 83,
                      "column": 21
                    },
                    "identifierName": "parseRestrictions"
                  },
                  "name": "parseRestrictions"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3152,
                    "end": 3155,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 22
                      },
                      "end": {
                        "line": 83,
                        "column": 25
                      },
                      "identifierName": "cmd"
                    },
                    "name": "cmd"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3157,
                  "end": 3222,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 27
                    },
                    "end": {
                      "line": 85,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 3168,
                      "end": 3215,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 55
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3175,
                        "end": 3214,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 15
                          },
                          "end": {
                            "line": 84,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3175,
                          "end": 3209,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 15
                            },
                            "end": {
                              "line": 84,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3175,
                            "end": 3191,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 15
                              },
                              "end": {
                                "line": 84,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3175,
                              "end": 3179,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 15
                                },
                                "end": {
                                  "line": 84,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3180,
                              "end": 3191,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 20
                                },
                                "end": {
                                  "line": 84,
                                  "column": 31
                                },
                                "identifierName": "edgeHandler"
                              },
                              "name": "edgeHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3192,
                            "end": 3209,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 32
                              },
                              "end": {
                                "line": 84,
                                "column": 49
                              },
                              "identifierName": "parseRestrictions"
                            },
                            "name": "parseRestrictions"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3210,
                            "end": 3213,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 50
                              },
                              "end": {
                                "line": 84,
                                "column": 53
                              },
                              "identifierName": "cmd"
                            },
                            "name": "cmd"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " don't destroy sketch interaction because we need it",
      "start": 948,
      "end": 1002,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 62
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " returns promise of the new lastPoint",
      "start": 1403,
      "end": 1442,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 43
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " note: we are sure that no new object is created in this click:",
      "start": 2426,
      "end": 2491,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "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": 47,
      "end": 53,
      "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": 54,
      "end": 63,
      "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": 64,
      "end": 68,
      "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": 69,
      "end": 83,
      "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": 83,
      "end": 84,
      "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": 86,
      "end": 92,
      "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": 93,
      "end": 98,
      "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": 99,
      "end": 103,
      "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": 104,
      "end": 114,
      "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": 114,
      "end": 115,
      "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": 117,
      "end": 123,
      "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": 124,
      "end": 125,
      "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": 126,
      "end": 136,
      "loc": {
        "start": {
          "line": 4,
          "column": 9
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 4,
          "column": 19
        },
        "end": {
          "line": 4,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictionCommands",
      "start": 138,
      "end": 157,
      "loc": {
        "start": {
          "line": 4,
          "column": 21
        },
        "end": {
          "line": 4,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 158,
      "end": 159,
      "loc": {
        "start": {
          "line": 4,
          "column": 41
        },
        "end": {
          "line": 4,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 160,
      "end": 164,
      "loc": {
        "start": {
          "line": 4,
          "column": 43
        },
        "end": {
          "line": 4,
          "column": 47
        }
      }
    },
    {
      "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": 165,
      "end": 187,
      "loc": {
        "start": {
          "line": 4,
          "column": 48
        },
        "end": {
          "line": 4,
          "column": 70
        }
      }
    },
    {
      "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": 4,
          "column": 70
        },
        "end": {
          "line": 4,
          "column": 71
        }
      }
    },
    {
      "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": 190,
      "end": 196,
      "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": 197,
      "end": 198,
      "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": 199,
      "end": 205,
      "loc": {
        "start": {
          "line": 5,
          "column": 9
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "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": 15
        },
        "end": {
          "line": 5,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IdToReal",
      "start": 207,
      "end": 215,
      "loc": {
        "start": {
          "line": 5,
          "column": 17
        },
        "end": {
          "line": 5,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 215,
      "end": 216,
      "loc": {
        "start": {
          "line": 5,
          "column": 25
        },
        "end": {
          "line": 5,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Member",
      "start": 217,
      "end": 223,
      "loc": {
        "start": {
          "line": 5,
          "column": 27
        },
        "end": {
          "line": 5,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 223,
      "end": 224,
      "loc": {
        "start": {
          "line": 5,
          "column": 33
        },
        "end": {
          "line": 5,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Variable",
      "start": 225,
      "end": 233,
      "loc": {
        "start": {
          "line": 5,
          "column": 35
        },
        "end": {
          "line": 5,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 233,
      "end": 234,
      "loc": {
        "start": {
          "line": 5,
          "column": 43
        },
        "end": {
          "line": 5,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Return",
      "start": 235,
      "end": 241,
      "loc": {
        "start": {
          "line": 5,
          "column": 45
        },
        "end": {
          "line": 5,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 241,
      "end": 242,
      "loc": {
        "start": {
          "line": 5,
          "column": 51
        },
        "end": {
          "line": 5,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Sequence",
      "start": 243,
      "end": 251,
      "loc": {
        "start": {
          "line": 5,
          "column": 53
        },
        "end": {
          "line": 5,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 252,
      "end": 253,
      "loc": {
        "start": {
          "line": 5,
          "column": 62
        },
        "end": {
          "line": 5,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 254,
      "end": 258,
      "loc": {
        "start": {
          "line": 5,
          "column": 64
        },
        "end": {
          "line": 5,
          "column": 68
        }
      }
    },
    {
      "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": 259,
      "end": 280,
      "loc": {
        "start": {
          "line": 5,
          "column": 69
        },
        "end": {
          "line": 5,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 280,
      "end": 281,
      "loc": {
        "start": {
          "line": 5,
          "column": 90
        },
        "end": {
          "line": 5,
          "column": 91
        }
      }
    },
    {
      "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": 283,
      "end": 289,
      "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": 290,
      "end": 291,
      "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": 292,
      "end": 301,
      "loc": {
        "start": {
          "line": 6,
          "column": 9
        },
        "end": {
          "line": 6,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 302,
      "end": 303,
      "loc": {
        "start": {
          "line": 6,
          "column": 19
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 304,
      "end": 308,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 25
        }
      }
    },
    {
      "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": 309,
      "end": 329,
      "loc": {
        "start": {
          "line": 6,
          "column": 26
        },
        "end": {
          "line": 6,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 329,
      "end": 330,
      "loc": {
        "start": {
          "line": 6,
          "column": 46
        },
        "end": {
          "line": 6,
          "column": 47
        }
      }
    },
    {
      "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": 332,
      "end": 338,
      "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": 339,
      "end": 340,
      "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": 341,
      "end": 354,
      "loc": {
        "start": {
          "line": 7,
          "column": 9
        },
        "end": {
          "line": 7,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 355,
      "end": 356,
      "loc": {
        "start": {
          "line": 7,
          "column": 23
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 357,
      "end": 361,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../viewutils",
      "start": 362,
      "end": 376,
      "loc": {
        "start": {
          "line": 7,
          "column": 30
        },
        "end": {
          "line": 7,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 376,
      "end": 377,
      "loc": {
        "start": {
          "line": 7,
          "column": 44
        },
        "end": {
          "line": 7,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 379,
      "end": 385,
      "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": 386,
      "end": 397,
      "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": 398,
      "end": 402,
      "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": 403,
      "end": 411,
      "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": 411,
      "end": 412,
      "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": 416,
      "end": 422,
      "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": 423,
      "end": 430,
      "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": 431,
      "end": 436,
      "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": 437,
      "end": 452,
      "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": 453,
      "end": 460,
      "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": 461,
      "end": 472,
      "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": 473,
      "end": 474,
      "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": 480,
      "end": 491,
      "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": 491,
      "end": 492,
      "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": 492,
      "end": 500,
      "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": 500,
      "end": 501,
      "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": 502,
      "end": 506,
      "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": 506,
      "end": 507,
      "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": 508,
      "end": 509,
      "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": 519,
      "end": 524,
      "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": 524,
      "end": 525,
      "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": 525,
      "end": 533,
      "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": 533,
      "end": 534,
      "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": 535,
      "end": 539,
      "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": 539,
      "end": 540,
      "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": 540,
      "end": 541,
      "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": 551,
      "end": 555,
      "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": 555,
      "end": 556,
      "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": 556,
      "end": 565,
      "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": 566,
      "end": 567,
      "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": 568,
      "end": 572,
      "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": 572,
      "end": 573,
      "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": 583,
      "end": 587,
      "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": 587,
      "end": 588,
      "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": 588,
      "end": 599,
      "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": 600,
      "end": 601,
      "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": 602,
      "end": 606,
      "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": 606,
      "end": 607,
      "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": 613,
      "end": 614,
      "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": 622,
      "end": 629,
      "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": 629,
      "end": 630,
      "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": 630,
      "end": 637,
      "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": 637,
      "end": 638,
      "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": 639,
      "end": 640,
      "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": 650,
      "end": 654,
      "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": 654,
      "end": 655,
      "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": 655,
      "end": 669,
      "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": 669,
      "end": 670,
      "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": 670,
      "end": 674,
      "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": 674,
      "end": 675,
      "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": 675,
      "end": 676,
      "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": 686,
      "end": 691,
      "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": 691,
      "end": 692,
      "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": 692,
      "end": 699,
      "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": 699,
      "end": 700,
      "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": 700,
      "end": 701,
      "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": 701,
      "end": 702,
      "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": 708,
      "end": 709,
      "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": 717,
      "end": 720,
      "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": 721,
      "end": 733,
      "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": 733,
      "end": 734,
      "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": 734,
      "end": 735,
      "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": 736,
      "end": 737,
      "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": 747,
      "end": 753,
      "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": 754,
      "end": 758,
      "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": 758,
      "end": 759,
      "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": 759,
      "end": 770,
      "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": 770,
      "end": 771,
      "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": 771,
      "end": 783,
      "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": null,
        "updateContext": null
      },
      "start": 783,
      "end": 784,
      "loc": {
        "start": {
          "line": 23,
          "column": 44
        },
        "end": {
          "line": 23,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 790,
      "end": 791,
      "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": 799,
      "end": 802,
      "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": 803,
      "end": 815,
      "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": 815,
      "end": 816,
      "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": 816,
      "end": 821,
      "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": 821,
      "end": 822,
      "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": 823,
      "end": 824,
      "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": 834,
      "end": 836,
      "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": 837,
      "end": 838,
      "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": 838,
      "end": 842,
      "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": 842,
      "end": 843,
      "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": 843,
      "end": 854,
      "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": 854,
      "end": 855,
      "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": 856,
      "end": 860,
      "loc": {
        "start": {
          "line": 27,
          "column": 30
        },
        "end": {
          "line": 27,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 860,
      "end": 861,
      "loc": {
        "start": {
          "line": 27,
          "column": 34
        },
        "end": {
          "line": 27,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 861,
      "end": 872,
      "loc": {
        "start": {
          "line": 27,
          "column": 35
        },
        "end": {
          "line": 27,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 872,
      "end": 873,
      "loc": {
        "start": {
          "line": 27,
          "column": 46
        },
        "end": {
          "line": 27,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictions",
      "start": 873,
      "end": 885,
      "loc": {
        "start": {
          "line": 27,
          "column": 47
        },
        "end": {
          "line": 27,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 886,
      "end": 887,
      "loc": {
        "start": {
          "line": 27,
          "column": 60
        },
        "end": {
          "line": 27,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 888,
      "end": 893,
      "loc": {
        "start": {
          "line": 27,
          "column": 62
        },
        "end": {
          "line": 27,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 893,
      "end": 894,
      "loc": {
        "start": {
          "line": 27,
          "column": 67
        },
        "end": {
          "line": 27,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 900,
      "end": 901,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setEdgeHandler",
      "start": 909,
      "end": 923,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 923,
      "end": 924,
      "loc": {
        "start": {
          "line": 30,
          "column": 18
        },
        "end": {
          "line": 30,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 924,
      "end": 935,
      "loc": {
        "start": {
          "line": 30,
          "column": 19
        },
        "end": {
          "line": 30,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 935,
      "end": 936,
      "loc": {
        "start": {
          "line": 30,
          "column": 30
        },
        "end": {
          "line": 30,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 937,
      "end": 938,
      "loc": {
        "start": {
          "line": 30,
          "column": 32
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " don't destroy sketch interaction because we need it",
      "start": 948,
      "end": 1002,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "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": 1012,
      "end": 1014,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1015,
      "end": 1016,
      "loc": {
        "start": {
          "line": 32,
          "column": 11
        },
        "end": {
          "line": 32,
          "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": 1016,
      "end": 1020,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 16
        }
      }
    },
    {
      "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": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1021,
      "end": 1032,
      "loc": {
        "start": {
          "line": 32,
          "column": 17
        },
        "end": {
          "line": 32,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1032,
      "end": 1033,
      "loc": {
        "start": {
          "line": 32,
          "column": 28
        },
        "end": {
          "line": 32,
          "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": 1034,
      "end": 1038,
      "loc": {
        "start": {
          "line": 32,
          "column": 30
        },
        "end": {
          "line": 32,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1038,
      "end": 1039,
      "loc": {
        "start": {
          "line": 32,
          "column": 34
        },
        "end": {
          "line": 32,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1039,
      "end": 1050,
      "loc": {
        "start": {
          "line": 32,
          "column": 35
        },
        "end": {
          "line": 32,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1050,
      "end": 1051,
      "loc": {
        "start": {
          "line": 32,
          "column": 46
        },
        "end": {
          "line": 32,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 1051,
      "end": 1058,
      "loc": {
        "start": {
          "line": 32,
          "column": 47
        },
        "end": {
          "line": 32,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 32,
          "column": 54
        },
        "end": {
          "line": 32,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1059,
      "end": 1060,
      "loc": {
        "start": {
          "line": 32,
          "column": 55
        },
        "end": {
          "line": 32,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "interaction",
      "start": 1061,
      "end": 1072,
      "loc": {
        "start": {
          "line": 32,
          "column": 57
        },
        "end": {
          "line": 32,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1072,
      "end": 1073,
      "loc": {
        "start": {
          "line": 32,
          "column": 68
        },
        "end": {
          "line": 32,
          "column": 69
        }
      }
    },
    {
      "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": 1074,
      "end": 1079,
      "loc": {
        "start": {
          "line": 32,
          "column": 70
        },
        "end": {
          "line": 32,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 32,
          "column": 76
        },
        "end": {
          "line": 32,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1081,
      "end": 1082,
      "loc": {
        "start": {
          "line": 32,
          "column": 77
        },
        "end": {
          "line": 32,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1082,
      "end": 1083,
      "loc": {
        "start": {
          "line": 32,
          "column": 78
        },
        "end": {
          "line": 32,
          "column": 79
        }
      }
    },
    {
      "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": 1093,
      "end": 1097,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1097,
      "end": 1098,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1098,
      "end": 1109,
      "loc": {
        "start": {
          "line": 33,
          "column": 13
        },
        "end": {
          "line": 33,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1110,
      "end": 1111,
      "loc": {
        "start": {
          "line": 33,
          "column": 25
        },
        "end": {
          "line": 33,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1112,
      "end": 1123,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1123,
      "end": 1124,
      "loc": {
        "start": {
          "line": 33,
          "column": 38
        },
        "end": {
          "line": 33,
          "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": 1134,
      "end": 1136,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1137,
      "end": 1138,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1138,
      "end": 1149,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1149,
      "end": 1150,
      "loc": {
        "start": {
          "line": 34,
          "column": 23
        },
        "end": {
          "line": 34,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1151,
      "end": 1162,
      "loc": {
        "start": {
          "line": 34,
          "column": 25
        },
        "end": {
          "line": 34,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1162,
      "end": 1163,
      "loc": {
        "start": {
          "line": 34,
          "column": 36
        },
        "end": {
          "line": 34,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeInteractions",
      "start": 1163,
      "end": 1181,
      "loc": {
        "start": {
          "line": 34,
          "column": 37
        },
        "end": {
          "line": 34,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1181,
      "end": 1182,
      "loc": {
        "start": {
          "line": 34,
          "column": 55
        },
        "end": {
          "line": 34,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1182,
      "end": 1183,
      "loc": {
        "start": {
          "line": 34,
          "column": 56
        },
        "end": {
          "line": 34,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "interaction",
      "start": 1184,
      "end": 1195,
      "loc": {
        "start": {
          "line": 34,
          "column": 58
        },
        "end": {
          "line": 34,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1195,
      "end": 1196,
      "loc": {
        "start": {
          "line": 34,
          "column": 69
        },
        "end": {
          "line": 34,
          "column": 70
        }
      }
    },
    {
      "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": 1197,
      "end": 1202,
      "loc": {
        "start": {
          "line": 34,
          "column": 71
        },
        "end": {
          "line": 34,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1203,
      "end": 1204,
      "loc": {
        "start": {
          "line": 34,
          "column": 77
        },
        "end": {
          "line": 34,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1204,
      "end": 1205,
      "loc": {
        "start": {
          "line": 34,
          "column": 78
        },
        "end": {
          "line": 34,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1205,
      "end": 1206,
      "loc": {
        "start": {
          "line": 34,
          "column": 79
        },
        "end": {
          "line": 34,
          "column": 80
        }
      }
    },
    {
      "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": 1216,
      "end": 1218,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1219,
      "end": 1220,
      "loc": {
        "start": {
          "line": 35,
          "column": 11
        },
        "end": {
          "line": 35,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1220,
      "end": 1231,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1232,
      "end": 1234,
      "loc": {
        "start": {
          "line": 35,
          "column": 24
        },
        "end": {
          "line": 35,
          "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": 1235,
      "end": 1239,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1239,
      "end": 1240,
      "loc": {
        "start": {
          "line": 35,
          "column": 31
        },
        "end": {
          "line": 35,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1240,
      "end": 1249,
      "loc": {
        "start": {
          "line": 35,
          "column": 32
        },
        "end": {
          "line": 35,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1249,
      "end": 1250,
      "loc": {
        "start": {
          "line": 35,
          "column": 41
        },
        "end": {
          "line": 35,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1251,
      "end": 1262,
      "loc": {
        "start": {
          "line": 35,
          "column": 43
        },
        "end": {
          "line": 35,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1262,
      "end": 1263,
      "loc": {
        "start": {
          "line": 35,
          "column": 54
        },
        "end": {
          "line": 35,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "click",
      "start": 1263,
      "end": 1268,
      "loc": {
        "start": {
          "line": 35,
          "column": 55
        },
        "end": {
          "line": 35,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1268,
      "end": 1269,
      "loc": {
        "start": {
          "line": 35,
          "column": 60
        },
        "end": {
          "line": 35,
          "column": 61
        }
      }
    },
    {
      "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": 1269,
      "end": 1273,
      "loc": {
        "start": {
          "line": 35,
          "column": 61
        },
        "end": {
          "line": 35,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1273,
      "end": 1274,
      "loc": {
        "start": {
          "line": 35,
          "column": 65
        },
        "end": {
          "line": 35,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1274,
      "end": 1283,
      "loc": {
        "start": {
          "line": 35,
          "column": 66
        },
        "end": {
          "line": 35,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1283,
      "end": 1284,
      "loc": {
        "start": {
          "line": 35,
          "column": 75
        },
        "end": {
          "line": 35,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pos",
      "start": 1284,
      "end": 1287,
      "loc": {
        "start": {
          "line": 35,
          "column": 76
        },
        "end": {
          "line": 35,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1287,
      "end": 1288,
      "loc": {
        "start": {
          "line": 35,
          "column": 79
        },
        "end": {
          "line": 35,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1288,
      "end": 1289,
      "loc": {
        "start": {
          "line": 35,
          "column": 80
        },
        "end": {
          "line": 35,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1295,
      "end": 1296,
      "loc": {
        "start": {
          "line": 36,
          "column": 4
        },
        "end": {
          "line": 36,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "move",
      "start": 1304,
      "end": 1308,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1308,
      "end": 1309,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 1309,
      "end": 1317,
      "loc": {
        "start": {
          "line": 38,
          "column": 9
        },
        "end": {
          "line": 38,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 38,
          "column": 17
        },
        "end": {
          "line": 38,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1319,
      "end": 1320,
      "loc": {
        "start": {
          "line": 38,
          "column": 19
        },
        "end": {
          "line": 38,
          "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": 1330,
      "end": 1332,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1333,
      "end": 1334,
      "loc": {
        "start": {
          "line": 39,
          "column": 11
        },
        "end": {
          "line": 39,
          "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": 1334,
      "end": 1335,
      "loc": {
        "start": {
          "line": 39,
          "column": 12
        },
        "end": {
          "line": 39,
          "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": 1335,
      "end": 1339,
      "loc": {
        "start": {
          "line": 39,
          "column": 13
        },
        "end": {
          "line": 39,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1339,
      "end": 1340,
      "loc": {
        "start": {
          "line": 39,
          "column": 17
        },
        "end": {
          "line": 39,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queue",
      "start": 1340,
      "end": 1345,
      "loc": {
        "start": {
          "line": 39,
          "column": 18
        },
        "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": 1345,
      "end": 1346,
      "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": "isBusy",
      "start": 1346,
      "end": 1352,
      "loc": {
        "start": {
          "line": 39,
          "column": 24
        },
        "end": {
          "line": 39,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1352,
      "end": 1353,
      "loc": {
        "start": {
          "line": 39,
          "column": 30
        },
        "end": {
          "line": 39,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1353,
      "end": 1354,
      "loc": {
        "start": {
          "line": 39,
          "column": 31
        },
        "end": {
          "line": 39,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1354,
      "end": 1355,
      "loc": {
        "start": {
          "line": 39,
          "column": 32
        },
        "end": {
          "line": 39,
          "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": 1356,
      "end": 1360,
      "loc": {
        "start": {
          "line": 39,
          "column": 34
        },
        "end": {
          "line": 39,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1360,
      "end": 1361,
      "loc": {
        "start": {
          "line": 39,
          "column": 38
        },
        "end": {
          "line": 39,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 1361,
      "end": 1372,
      "loc": {
        "start": {
          "line": 39,
          "column": 39
        },
        "end": {
          "line": 39,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1372,
      "end": 1373,
      "loc": {
        "start": {
          "line": 39,
          "column": 50
        },
        "end": {
          "line": 39,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "move",
      "start": 1373,
      "end": 1377,
      "loc": {
        "start": {
          "line": 39,
          "column": 51
        },
        "end": {
          "line": 39,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1377,
      "end": 1378,
      "loc": {
        "start": {
          "line": 39,
          "column": 55
        },
        "end": {
          "line": 39,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 1378,
      "end": 1386,
      "loc": {
        "start": {
          "line": 39,
          "column": 56
        },
        "end": {
          "line": 39,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 39,
          "column": 64
        },
        "end": {
          "line": 39,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1387,
      "end": 1388,
      "loc": {
        "start": {
          "line": 39,
          "column": 65
        },
        "end": {
          "line": 39,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1394,
      "end": 1395,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " returns promise of the new lastPoint",
      "start": 1403,
      "end": 1442,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterEdgeAdded",
      "start": 1448,
      "end": 1462,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1462,
      "end": 1463,
      "loc": {
        "start": {
          "line": 43,
          "column": 18
        },
        "end": {
          "line": 43,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1463,
      "end": 1473,
      "loc": {
        "start": {
          "line": 43,
          "column": 19
        },
        "end": {
          "line": 43,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1473,
      "end": 1474,
      "loc": {
        "start": {
          "line": 43,
          "column": 29
        },
        "end": {
          "line": 43,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1475,
      "end": 1476,
      "loc": {
        "start": {
          "line": 43,
          "column": 31
        },
        "end": {
          "line": 43,
          "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": 1486,
      "end": 1488,
      "loc": {
        "start": {
          "line": 44,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1489,
      "end": 1490,
      "loc": {
        "start": {
          "line": 44,
          "column": 11
        },
        "end": {
          "line": 44,
          "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": 1490,
      "end": 1491,
      "loc": {
        "start": {
          "line": 44,
          "column": 12
        },
        "end": {
          "line": 44,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1491,
      "end": 1501,
      "loc": {
        "start": {
          "line": 44,
          "column": 13
        },
        "end": {
          "line": 44,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1501,
      "end": 1502,
      "loc": {
        "start": {
          "line": 44,
          "column": 23
        },
        "end": {
          "line": 44,
          "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": 1503,
      "end": 1509,
      "loc": {
        "start": {
          "line": 44,
          "column": 25
        },
        "end": {
          "line": 44,
          "column": 31
        }
      }
    },
    {
      "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": 1510,
      "end": 1514,
      "loc": {
        "start": {
          "line": 44,
          "column": 32
        },
        "end": {
          "line": 44,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1514,
      "end": 1515,
      "loc": {
        "start": {
          "line": 44,
          "column": 36
        },
        "end": {
          "line": 44,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1515,
      "end": 1524,
      "loc": {
        "start": {
          "line": 44,
          "column": 37
        },
        "end": {
          "line": 44,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1524,
      "end": 1525,
      "loc": {
        "start": {
          "line": 44,
          "column": 46
        },
        "end": {
          "line": 44,
          "column": 47
        }
      }
    },
    {
      "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": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 14
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 21
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 23
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 27
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 36
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 37
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 45
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 46
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 47
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 49
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 59
        },
        "end": {
          "line": 46,
          "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": 46,
          "column": 60
        },
        "end": {
          "line": 46,
          "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": 1600,
      "end": 1605,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "startPoint",
      "start": 1606,
      "end": 1616,
      "loc": {
        "start": {
          "line": 47,
          "column": 14
        },
        "end": {
          "line": 47,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1617,
      "end": 1618,
      "loc": {
        "start": {
          "line": 47,
          "column": 25
        },
        "end": {
          "line": 47,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 1619,
      "end": 1625,
      "loc": {
        "start": {
          "line": 47,
          "column": 27
        },
        "end": {
          "line": 47,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1625,
      "end": 1626,
      "loc": {
        "start": {
          "line": 47,
          "column": 33
        },
        "end": {
          "line": 47,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 1626,
      "end": 1634,
      "loc": {
        "start": {
          "line": 47,
          "column": 34
        },
        "end": {
          "line": 47,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1634,
      "end": 1635,
      "loc": {
        "start": {
          "line": 47,
          "column": 42
        },
        "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": "find",
      "start": 1635,
      "end": 1639,
      "loc": {
        "start": {
          "line": 47,
          "column": 43
        },
        "end": {
          "line": 47,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1639,
      "end": 1640,
      "loc": {
        "start": {
          "line": 47,
          "column": 47
        },
        "end": {
          "line": 47,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 1640,
      "end": 1645,
      "loc": {
        "start": {
          "line": 47,
          "column": 48
        },
        "end": {
          "line": 47,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1646,
      "end": 1648,
      "loc": {
        "start": {
          "line": 47,
          "column": 54
        },
        "end": {
          "line": 47,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 1649,
      "end": 1654,
      "loc": {
        "start": {
          "line": 47,
          "column": 57
        },
        "end": {
          "line": 47,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1654,
      "end": 1655,
      "loc": {
        "start": {
          "line": 47,
          "column": 62
        },
        "end": {
          "line": 47,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isStartPoint",
      "start": 1655,
      "end": 1667,
      "loc": {
        "start": {
          "line": 47,
          "column": 63
        },
        "end": {
          "line": 47,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1667,
      "end": 1668,
      "loc": {
        "start": {
          "line": 47,
          "column": 75
        },
        "end": {
          "line": 47,
          "column": 76
        }
      }
    },
    {
      "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": 47,
          "column": 76
        },
        "end": {
          "line": 47,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1669,
      "end": 1670,
      "loc": {
        "start": {
          "line": 47,
          "column": 77
        },
        "end": {
          "line": 47,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1670,
      "end": 1671,
      "loc": {
        "start": {
          "line": 47,
          "column": 78
        },
        "end": {
          "line": 47,
          "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": 1681,
      "end": 1686,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manualConstrCommand",
      "start": 1687,
      "end": 1706,
      "loc": {
        "start": {
          "line": 48,
          "column": 14
        },
        "end": {
          "line": 48,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1707,
      "end": 1708,
      "loc": {
        "start": {
          "line": 48,
          "column": 34
        },
        "end": {
          "line": 48,
          "column": 35
        }
      }
    },
    {
      "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": 1709,
      "end": 1713,
      "loc": {
        "start": {
          "line": 48,
          "column": 36
        },
        "end": {
          "line": 48,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1713,
      "end": 1714,
      "loc": {
        "start": {
          "line": 48,
          "column": 40
        },
        "end": {
          "line": 48,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1714,
      "end": 1723,
      "loc": {
        "start": {
          "line": 48,
          "column": 41
        },
        "end": {
          "line": 48,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1724,
      "end": 1726,
      "loc": {
        "start": {
          "line": 48,
          "column": 51
        },
        "end": {
          "line": 48,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1727,
      "end": 1728,
      "loc": {
        "start": {
          "line": 48,
          "column": 54
        },
        "end": {
          "line": 48,
          "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": 1728,
      "end": 1732,
      "loc": {
        "start": {
          "line": 48,
          "column": 55
        },
        "end": {
          "line": 48,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1732,
      "end": 1733,
      "loc": {
        "start": {
          "line": 48,
          "column": 59
        },
        "end": {
          "line": 48,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 1733,
      "end": 1741,
      "loc": {
        "start": {
          "line": 48,
          "column": 60
        },
        "end": {
          "line": 48,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1741,
      "end": 1742,
      "loc": {
        "start": {
          "line": 48,
          "column": 68
        },
        "end": {
          "line": 48,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "autoconstraintIncremental",
      "start": 1742,
      "end": 1767,
      "loc": {
        "start": {
          "line": 48,
          "column": 69
        },
        "end": {
          "line": 48,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1781,
      "end": 1782,
      "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": "addCommand",
      "start": 1783,
      "end": 1793,
      "loc": {
        "start": {
          "line": 49,
          "column": 14
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1793,
      "end": 1794,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 25
        }
      }
    },
    {
      "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": 1794,
      "end": 1798,
      "loc": {
        "start": {
          "line": 49,
          "column": 25
        },
        "end": {
          "line": 49,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1798,
      "end": 1799,
      "loc": {
        "start": {
          "line": 49,
          "column": 29
        },
        "end": {
          "line": 49,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 1799,
      "end": 1805,
      "loc": {
        "start": {
          "line": 49,
          "column": 30
        },
        "end": {
          "line": 49,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1805,
      "end": 1806,
      "loc": {
        "start": {
          "line": 49,
          "column": 36
        },
        "end": {
          "line": 49,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1807,
      "end": 1808,
      "loc": {
        "start": {
          "line": 49,
          "column": 38
        },
        "end": {
          "line": 49,
          "column": 39
        }
      }
    },
    {
      "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": 1809,
      "end": 1814,
      "loc": {
        "start": {
          "line": 49,
          "column": 40
        },
        "end": {
          "line": 49,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1814,
      "end": 1815,
      "loc": {
        "start": {
          "line": 49,
          "column": 45
        },
        "end": {
          "line": 49,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "incidence",
      "start": 1816,
      "end": 1825,
      "loc": {
        "start": {
          "line": 49,
          "column": 47
        },
        "end": {
          "line": 49,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1825,
      "end": 1826,
      "loc": {
        "start": {
          "line": 49,
          "column": 56
        },
        "end": {
          "line": 49,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 1826,
      "end": 1830,
      "loc": {
        "start": {
          "line": 49,
          "column": 57
        },
        "end": {
          "line": 49,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1830,
      "end": 1831,
      "loc": {
        "start": {
          "line": 49,
          "column": 61
        },
        "end": {
          "line": 49,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 1832,
      "end": 1840,
      "loc": {
        "start": {
          "line": 49,
          "column": 63
        },
        "end": {
          "line": 49,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1840,
      "end": 1841,
      "loc": {
        "start": {
          "line": 49,
          "column": 71
        },
        "end": {
          "line": 49,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1842,
      "end": 1843,
      "loc": {
        "start": {
          "line": 49,
          "column": 73
        },
        "end": {
          "line": 49,
          "column": 74
        }
      }
    },
    {
      "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": 1843,
      "end": 1847,
      "loc": {
        "start": {
          "line": 49,
          "column": 74
        },
        "end": {
          "line": 49,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1847,
      "end": 1848,
      "loc": {
        "start": {
          "line": 49,
          "column": 78
        },
        "end": {
          "line": 49,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 1848,
      "end": 1857,
      "loc": {
        "start": {
          "line": 49,
          "column": 79
        },
        "end": {
          "line": 49,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1857,
      "end": 1858,
      "loc": {
        "start": {
          "line": 49,
          "column": 88
        },
        "end": {
          "line": 49,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "startPoint",
      "start": 1859,
      "end": 1869,
      "loc": {
        "start": {
          "line": 49,
          "column": 90
        },
        "end": {
          "line": 49,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1869,
      "end": 1870,
      "loc": {
        "start": {
          "line": 49,
          "column": 100
        },
        "end": {
          "line": 49,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1870,
      "end": 1871,
      "loc": {
        "start": {
          "line": 49,
          "column": 101
        },
        "end": {
          "line": 49,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1872,
      "end": 1877,
      "loc": {
        "start": {
          "line": 49,
          "column": 103
        },
        "end": {
          "line": 49,
          "column": 108
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1877,
      "end": 1878,
      "loc": {
        "start": {
          "line": 49,
          "column": 108
        },
        "end": {
          "line": 49,
          "column": 109
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1879,
      "end": 1880,
      "loc": {
        "start": {
          "line": 49,
          "column": 110
        },
        "end": {
          "line": 49,
          "column": 111
        }
      }
    },
    {
      "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": 49,
          "column": 111
        },
        "end": {
          "line": 49,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1882,
      "end": 1883,
      "loc": {
        "start": {
          "line": 49,
          "column": 113
        },
        "end": {
          "line": 49,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1883,
      "end": 1884,
      "loc": {
        "start": {
          "line": 49,
          "column": 114
        },
        "end": {
          "line": 49,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1898,
      "end": 1899,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 13
        }
      }
    },
    {
      "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": 1900,
      "end": 1904,
      "loc": {
        "start": {
          "line": 50,
          "column": 14
        },
        "end": {
          "line": 50,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1904,
      "end": 1905,
      "loc": {
        "start": {
          "line": 50,
          "column": 18
        },
        "end": {
          "line": 50,
          "column": 19
        }
      }
    },
    {
      "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": 1915,
      "end": 1918,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 1919,
      "end": 1926,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1927,
      "end": 1928,
      "loc": {
        "start": {
          "line": 51,
          "column": 20
        },
        "end": {
          "line": 51,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Sequence",
      "start": 1929,
      "end": 1937,
      "loc": {
        "start": {
          "line": 51,
          "column": 22
        },
        "end": {
          "line": 51,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1937,
      "end": 1938,
      "loc": {
        "start": {
          "line": 51,
          "column": 30
        },
        "end": {
          "line": 51,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Assign",
      "start": 1952,
      "end": 1958,
      "loc": {
        "start": {
          "line": 52,
          "column": 12
        },
        "end": {
          "line": 52,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1958,
      "end": 1959,
      "loc": {
        "start": {
          "line": 52,
          "column": 18
        },
        "end": {
          "line": 52,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 1959,
      "end": 1965,
      "loc": {
        "start": {
          "line": 52,
          "column": 19
        },
        "end": {
          "line": 52,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1965,
      "end": 1966,
      "loc": {
        "start": {
          "line": 52,
          "column": 25
        },
        "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": "addCommand",
      "start": 1967,
      "end": 1977,
      "loc": {
        "start": {
          "line": 52,
          "column": 27
        },
        "end": {
          "line": 52,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1977,
      "end": 1978,
      "loc": {
        "start": {
          "line": 52,
          "column": 37
        },
        "end": {
          "line": 52,
          "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": 1978,
      "end": 1982,
      "loc": {
        "start": {
          "line": 52,
          "column": 38
        },
        "end": {
          "line": 52,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1982,
      "end": 1983,
      "loc": {
        "start": {
          "line": 52,
          "column": 42
        },
        "end": {
          "line": 52,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 1983,
      "end": 1989,
      "loc": {
        "start": {
          "line": 52,
          "column": 43
        },
        "end": {
          "line": 52,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1989,
      "end": 1990,
      "loc": {
        "start": {
          "line": 52,
          "column": 49
        },
        "end": {
          "line": 52,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1991,
      "end": 2001,
      "loc": {
        "start": {
          "line": 52,
          "column": 51
        },
        "end": {
          "line": 52,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2001,
      "end": 2002,
      "loc": {
        "start": {
          "line": 52,
          "column": 61
        },
        "end": {
          "line": 52,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2002,
      "end": 2003,
      "loc": {
        "start": {
          "line": 52,
          "column": 62
        },
        "end": {
          "line": 52,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2003,
      "end": 2004,
      "loc": {
        "start": {
          "line": 52,
          "column": 63
        },
        "end": {
          "line": 52,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2018,
      "end": 2021,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "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": 2021,
      "end": 2025,
      "loc": {
        "start": {
          "line": 53,
          "column": 15
        },
        "end": {
          "line": 53,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2025,
      "end": 2026,
      "loc": {
        "start": {
          "line": 53,
          "column": 19
        },
        "end": {
          "line": 53,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2026,
      "end": 2034,
      "loc": {
        "start": {
          "line": 53,
          "column": 20
        },
        "end": {
          "line": 53,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2034,
      "end": 2035,
      "loc": {
        "start": {
          "line": 53,
          "column": 28
        },
        "end": {
          "line": 53,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "autoconstraintCommands",
      "start": 2035,
      "end": 2057,
      "loc": {
        "start": {
          "line": 53,
          "column": 29
        },
        "end": {
          "line": 53,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2057,
      "end": 2058,
      "loc": {
        "start": {
          "line": 53,
          "column": 51
        },
        "end": {
          "line": 53,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2058,
      "end": 2064,
      "loc": {
        "start": {
          "line": 53,
          "column": 52
        },
        "end": {
          "line": 53,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2064,
      "end": 2065,
      "loc": {
        "start": {
          "line": 53,
          "column": 58
        },
        "end": {
          "line": 53,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2065,
      "end": 2066,
      "loc": {
        "start": {
          "line": 53,
          "column": 59
        },
        "end": {
          "line": 53,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2080,
      "end": 2083,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictionCommands",
      "start": 2083,
      "end": 2102,
      "loc": {
        "start": {
          "line": 54,
          "column": 15
        },
        "end": {
          "line": 54,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2102,
      "end": 2103,
      "loc": {
        "start": {
          "line": 54,
          "column": 34
        },
        "end": {
          "line": 54,
          "column": 35
        }
      }
    },
    {
      "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": 2103,
      "end": 2107,
      "loc": {
        "start": {
          "line": 54,
          "column": 35
        },
        "end": {
          "line": 54,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2107,
      "end": 2108,
      "loc": {
        "start": {
          "line": 54,
          "column": 39
        },
        "end": {
          "line": 54,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 2108,
      "end": 2114,
      "loc": {
        "start": {
          "line": 54,
          "column": 40
        },
        "end": {
          "line": 54,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2114,
      "end": 2115,
      "loc": {
        "start": {
          "line": 54,
          "column": 46
        },
        "end": {
          "line": 54,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2116,
      "end": 2122,
      "loc": {
        "start": {
          "line": 54,
          "column": 48
        },
        "end": {
          "line": 54,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2122,
      "end": 2123,
      "loc": {
        "start": {
          "line": 54,
          "column": 54
        },
        "end": {
          "line": 54,
          "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": 2124,
      "end": 2128,
      "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": 2128,
      "end": 2129,
      "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": "restrictions",
      "start": 2129,
      "end": 2141,
      "loc": {
        "start": {
          "line": 54,
          "column": 61
        },
        "end": {
          "line": 54,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2141,
      "end": 2142,
      "loc": {
        "start": {
          "line": 54,
          "column": 73
        },
        "end": {
          "line": 54,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2142,
      "end": 2143,
      "loc": {
        "start": {
          "line": 54,
          "column": 74
        },
        "end": {
          "line": 54,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "manualConstrCommand",
      "start": 2157,
      "end": 2176,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2176,
      "end": 2177,
      "loc": {
        "start": {
          "line": 55,
          "column": 31
        },
        "end": {
          "line": 55,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Return",
      "start": 2191,
      "end": 2197,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 18
        }
      }
    },
    {
      "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": 56,
          "column": 18
        },
        "end": {
          "line": 56,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IdToReal",
      "start": 2198,
      "end": 2206,
      "loc": {
        "start": {
          "line": 56,
          "column": 19
        },
        "end": {
          "line": 56,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2206,
      "end": 2207,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Member",
      "start": 2207,
      "end": 2213,
      "loc": {
        "start": {
          "line": 56,
          "column": 28
        },
        "end": {
          "line": 56,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2213,
      "end": 2214,
      "loc": {
        "start": {
          "line": 56,
          "column": 34
        },
        "end": {
          "line": 56,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2214,
      "end": 2220,
      "loc": {
        "start": {
          "line": 56,
          "column": 35
        },
        "end": {
          "line": 56,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2220,
      "end": 2221,
      "loc": {
        "start": {
          "line": 56,
          "column": 41
        },
        "end": {
          "line": 56,
          "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": 2222,
      "end": 2232,
      "loc": {
        "start": {
          "line": 56,
          "column": 43
        },
        "end": {
          "line": 56,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2232,
      "end": 2233,
      "loc": {
        "start": {
          "line": 56,
          "column": 53
        },
        "end": {
          "line": 56,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2233,
      "end": 2234,
      "loc": {
        "start": {
          "line": 56,
          "column": 54
        },
        "end": {
          "line": 56,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2234,
      "end": 2235,
      "loc": {
        "start": {
          "line": 56,
          "column": 55
        },
        "end": {
          "line": 56,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2245,
      "end": 2246,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2246,
      "end": 2247,
      "loc": {
        "start": {
          "line": 57,
          "column": 9
        },
        "end": {
          "line": 57,
          "column": 10
        }
      }
    },
    {
      "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": 2257,
      "end": 2261,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2261,
      "end": 2262,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "restrictions",
      "start": 2262,
      "end": 2274,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2275,
      "end": 2276,
      "loc": {
        "start": {
          "line": 58,
          "column": 26
        },
        "end": {
          "line": 58,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2277,
      "end": 2278,
      "loc": {
        "start": {
          "line": 58,
          "column": 28
        },
        "end": {
          "line": 58,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2278,
      "end": 2279,
      "loc": {
        "start": {
          "line": 58,
          "column": 29
        },
        "end": {
          "line": 58,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2279,
      "end": 2280,
      "loc": {
        "start": {
          "line": 58,
          "column": 30
        },
        "end": {
          "line": 58,
          "column": 31
        }
      }
    },
    {
      "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": 2290,
      "end": 2295,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "p",
      "start": 2296,
      "end": 2297,
      "loc": {
        "start": {
          "line": 59,
          "column": 14
        },
        "end": {
          "line": 59,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 59,
          "column": 16
        },
        "end": {
          "line": 59,
          "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": 2300,
      "end": 2304,
      "loc": {
        "start": {
          "line": 59,
          "column": 18
        },
        "end": {
          "line": 59,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2304,
      "end": 2305,
      "loc": {
        "start": {
          "line": 59,
          "column": 22
        },
        "end": {
          "line": 59,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2305,
      "end": 2313,
      "loc": {
        "start": {
          "line": 59,
          "column": 23
        },
        "end": {
          "line": 59,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2313,
      "end": 2314,
      "loc": {
        "start": {
          "line": 59,
          "column": 31
        },
        "end": {
          "line": 59,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "run",
      "start": 2314,
      "end": 2317,
      "loc": {
        "start": {
          "line": 59,
          "column": 32
        },
        "end": {
          "line": 59,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2317,
      "end": 2318,
      "loc": {
        "start": {
          "line": 59,
          "column": 35
        },
        "end": {
          "line": 59,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2318,
      "end": 2325,
      "loc": {
        "start": {
          "line": 59,
          "column": 36
        },
        "end": {
          "line": 59,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2325,
      "end": 2326,
      "loc": {
        "start": {
          "line": 59,
          "column": 43
        },
        "end": {
          "line": 59,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2326,
      "end": 2327,
      "loc": {
        "start": {
          "line": 59,
          "column": 44
        },
        "end": {
          "line": 59,
          "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": 2337,
      "end": 2341,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2341,
      "end": 2342,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2342,
      "end": 2350,
      "loc": {
        "start": {
          "line": 60,
          "column": 13
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2350,
      "end": 2351,
      "loc": {
        "start": {
          "line": 60,
          "column": 21
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "incrementalSolveConstraints",
      "start": 2351,
      "end": 2378,
      "loc": {
        "start": {
          "line": 60,
          "column": 22
        },
        "end": {
          "line": 60,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2378,
      "end": 2379,
      "loc": {
        "start": {
          "line": 60,
          "column": 49
        },
        "end": {
          "line": 60,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2379,
      "end": 2380,
      "loc": {
        "start": {
          "line": 60,
          "column": 50
        },
        "end": {
          "line": 60,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2380,
      "end": 2381,
      "loc": {
        "start": {
          "line": 60,
          "column": 51
        },
        "end": {
          "line": 60,
          "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": 2391,
      "end": 2397,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "p",
      "start": 2398,
      "end": 2399,
      "loc": {
        "start": {
          "line": 61,
          "column": 15
        },
        "end": {
          "line": 61,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2399,
      "end": 2400,
      "loc": {
        "start": {
          "line": 61,
          "column": 16
        },
        "end": {
          "line": 61,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "then",
      "start": 2400,
      "end": 2404,
      "loc": {
        "start": {
          "line": 61,
          "column": 17
        },
        "end": {
          "line": 61,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2404,
      "end": 2405,
      "loc": {
        "start": {
          "line": 61,
          "column": 21
        },
        "end": {
          "line": 61,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2405,
      "end": 2407,
      "loc": {
        "start": {
          "line": 61,
          "column": 22
        },
        "end": {
          "line": 61,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2408,
      "end": 2410,
      "loc": {
        "start": {
          "line": 61,
          "column": 25
        },
        "end": {
          "line": 61,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2411,
      "end": 2412,
      "loc": {
        "start": {
          "line": 61,
          "column": 28
        },
        "end": {
          "line": 61,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " note: we are sure that no new object is created in this click:",
      "start": 2426,
      "end": 2491,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "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": 2505,
      "end": 2509,
      "loc": {
        "start": {
          "line": 63,
          "column": 12
        },
        "end": {
          "line": 63,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2509,
      "end": 2510,
      "loc": {
        "start": {
          "line": 63,
          "column": 16
        },
        "end": {
          "line": 63,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2510,
      "end": 2521,
      "loc": {
        "start": {
          "line": 63,
          "column": 17
        },
        "end": {
          "line": 63,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2521,
      "end": 2522,
      "loc": {
        "start": {
          "line": 63,
          "column": 28
        },
        "end": {
          "line": 63,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "click",
      "start": 2522,
      "end": 2527,
      "loc": {
        "start": {
          "line": 63,
          "column": 29
        },
        "end": {
          "line": 63,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2527,
      "end": 2528,
      "loc": {
        "start": {
          "line": 63,
          "column": 34
        },
        "end": {
          "line": 63,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 2528,
      "end": 2538,
      "loc": {
        "start": {
          "line": 63,
          "column": 35
        },
        "end": {
          "line": 63,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2538,
      "end": 2539,
      "loc": {
        "start": {
          "line": 63,
          "column": 45
        },
        "end": {
          "line": 63,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2539,
      "end": 2542,
      "loc": {
        "start": {
          "line": 63,
          "column": 46
        },
        "end": {
          "line": 63,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2542,
      "end": 2543,
      "loc": {
        "start": {
          "line": 63,
          "column": 49
        },
        "end": {
          "line": 63,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2543,
      "end": 2544,
      "loc": {
        "start": {
          "line": 63,
          "column": 50
        },
        "end": {
          "line": 63,
          "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": 2558,
      "end": 2564,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "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": 2565,
      "end": 2568,
      "loc": {
        "start": {
          "line": 64,
          "column": 19
        },
        "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": "Ccref",
      "start": 2569,
      "end": 2574,
      "loc": {
        "start": {
          "line": 64,
          "column": 23
        },
        "end": {
          "line": 64,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2574,
      "end": 2575,
      "loc": {
        "start": {
          "line": 64,
          "column": 28
        },
        "end": {
          "line": 64,
          "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": 2575,
      "end": 2579,
      "loc": {
        "start": {
          "line": 64,
          "column": 29
        },
        "end": {
          "line": 64,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2579,
      "end": 2580,
      "loc": {
        "start": {
          "line": 64,
          "column": 33
        },
        "end": {
          "line": 64,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 2580,
      "end": 2588,
      "loc": {
        "start": {
          "line": 64,
          "column": 34
        },
        "end": {
          "line": 64,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2588,
      "end": 2589,
      "loc": {
        "start": {
          "line": 64,
          "column": 42
        },
        "end": {
          "line": 64,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2590,
      "end": 2592,
      "loc": {
        "start": {
          "line": 64,
          "column": 44
        },
        "end": {
          "line": 64,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2592,
      "end": 2593,
      "loc": {
        "start": {
          "line": 64,
          "column": 46
        },
        "end": {
          "line": 64,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2593,
      "end": 2594,
      "loc": {
        "start": {
          "line": 64,
          "column": 47
        },
        "end": {
          "line": 64,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2604,
      "end": 2605,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2605,
      "end": 2606,
      "loc": {
        "start": {
          "line": 65,
          "column": 9
        },
        "end": {
          "line": 65,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2606,
      "end": 2607,
      "loc": {
        "start": {
          "line": 65,
          "column": 10
        },
        "end": {
          "line": 65,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2613,
      "end": 2614,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 66,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2622,
      "end": 2623,
      "loc": {
        "start": {
          "line": 68,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 2623,
      "end": 2630,
      "loc": {
        "start": {
          "line": 68,
          "column": 5
        },
        "end": {
          "line": 68,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2630,
      "end": 2631,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Events",
      "start": 2631,
      "end": 2637,
      "loc": {
        "start": {
          "line": 68,
          "column": 13
        },
        "end": {
          "line": 68,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2637,
      "end": 2638,
      "loc": {
        "start": {
          "line": 68,
          "column": 19
        },
        "end": {
          "line": 68,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Interaction",
      "start": 2638,
      "end": 2649,
      "loc": {
        "start": {
          "line": 68,
          "column": 20
        },
        "end": {
          "line": 68,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2649,
      "end": 2650,
      "loc": {
        "start": {
          "line": 68,
          "column": 31
        },
        "end": {
          "line": 68,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Clicked",
      "start": 2650,
      "end": 2657,
      "loc": {
        "start": {
          "line": 68,
          "column": 32
        },
        "end": {
          "line": 68,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2657,
      "end": 2658,
      "loc": {
        "start": {
          "line": 68,
          "column": 39
        },
        "end": {
          "line": 68,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2658,
      "end": 2659,
      "loc": {
        "start": {
          "line": 68,
          "column": 40
        },
        "end": {
          "line": 68,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 2659,
      "end": 2665,
      "loc": {
        "start": {
          "line": 68,
          "column": 41
        },
        "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": 2665,
      "end": 2666,
      "loc": {
        "start": {
          "line": 68,
          "column": 47
        },
        "end": {
          "line": 68,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hitObject",
      "start": 2667,
      "end": 2676,
      "loc": {
        "start": {
          "line": 68,
          "column": 49
        },
        "end": {
          "line": 68,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2676,
      "end": 2677,
      "loc": {
        "start": {
          "line": 68,
          "column": 58
        },
        "end": {
          "line": 68,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2678,
      "end": 2679,
      "loc": {
        "start": {
          "line": 68,
          "column": 60
        },
        "end": {
          "line": 68,
          "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": 2689,
      "end": 2694,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 2695,
      "end": 2703,
      "loc": {
        "start": {
          "line": 69,
          "column": 14
        },
        "end": {
          "line": 69,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2704,
      "end": 2705,
      "loc": {
        "start": {
          "line": 69,
          "column": 23
        },
        "end": {
          "line": 69,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "calcSketchPos",
      "start": 2706,
      "end": 2719,
      "loc": {
        "start": {
          "line": 69,
          "column": 25
        },
        "end": {
          "line": 69,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2719,
      "end": 2720,
      "loc": {
        "start": {
          "line": 69,
          "column": 38
        },
        "end": {
          "line": 69,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hitObject",
      "start": 2720,
      "end": 2729,
      "loc": {
        "start": {
          "line": 69,
          "column": 39
        },
        "end": {
          "line": 69,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2729,
      "end": 2730,
      "loc": {
        "start": {
          "line": 69,
          "column": 48
        },
        "end": {
          "line": 69,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ray",
      "start": 2730,
      "end": 2733,
      "loc": {
        "start": {
          "line": 69,
          "column": 49
        },
        "end": {
          "line": 69,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2733,
      "end": 2734,
      "loc": {
        "start": {
          "line": 69,
          "column": 52
        },
        "end": {
          "line": 69,
          "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": 2735,
      "end": 2739,
      "loc": {
        "start": {
          "line": 69,
          "column": 54
        },
        "end": {
          "line": 69,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2739,
      "end": 2740,
      "loc": {
        "start": {
          "line": 69,
          "column": 58
        },
        "end": {
          "line": 69,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketch",
      "start": 2740,
      "end": 2746,
      "loc": {
        "start": {
          "line": 69,
          "column": 59
        },
        "end": {
          "line": 69,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2746,
      "end": 2747,
      "loc": {
        "start": {
          "line": 69,
          "column": 65
        },
        "end": {
          "line": 69,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2747,
      "end": 2748,
      "loc": {
        "start": {
          "line": 69,
          "column": 66
        },
        "end": {
          "line": 69,
          "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": 2758,
      "end": 2764,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "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": 2765,
      "end": 2769,
      "loc": {
        "start": {
          "line": 70,
          "column": 15
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2769,
      "end": 2770,
      "loc": {
        "start": {
          "line": 70,
          "column": 19
        },
        "end": {
          "line": 70,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queue",
      "start": 2770,
      "end": 2775,
      "loc": {
        "start": {
          "line": 70,
          "column": 20
        },
        "end": {
          "line": 70,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2775,
      "end": 2776,
      "loc": {
        "start": {
          "line": 70,
          "column": 25
        },
        "end": {
          "line": 70,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "run",
      "start": 2776,
      "end": 2779,
      "loc": {
        "start": {
          "line": 70,
          "column": 26
        },
        "end": {
          "line": 70,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2779,
      "end": 2780,
      "loc": {
        "start": {
          "line": 70,
          "column": 29
        },
        "end": {
          "line": 70,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "async",
      "start": 2780,
      "end": 2785,
      "loc": {
        "start": {
          "line": 70,
          "column": 30
        },
        "end": {
          "line": 70,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2786,
      "end": 2787,
      "loc": {
        "start": {
          "line": 70,
          "column": 36
        },
        "end": {
          "line": 70,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2787,
      "end": 2788,
      "loc": {
        "start": {
          "line": 70,
          "column": 37
        },
        "end": {
          "line": 70,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2789,
      "end": 2791,
      "loc": {
        "start": {
          "line": 70,
          "column": 39
        },
        "end": {
          "line": 70,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2792,
      "end": 2793,
      "loc": {
        "start": {
          "line": 70,
          "column": 42
        },
        "end": {
          "line": 70,
          "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": 2807,
      "end": 2811,
      "loc": {
        "start": {
          "line": 71,
          "column": 12
        },
        "end": {
          "line": 71,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2811,
      "end": 2812,
      "loc": {
        "start": {
          "line": 71,
          "column": 16
        },
        "end": {
          "line": 71,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 2812,
      "end": 2821,
      "loc": {
        "start": {
          "line": 71,
          "column": 17
        },
        "end": {
          "line": 71,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2822,
      "end": 2823,
      "loc": {
        "start": {
          "line": 71,
          "column": 27
        },
        "end": {
          "line": 71,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "await",
      "start": 2824,
      "end": 2829,
      "loc": {
        "start": {
          "line": 71,
          "column": 29
        },
        "end": {
          "line": 71,
          "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": 2830,
      "end": 2834,
      "loc": {
        "start": {
          "line": 71,
          "column": 35
        },
        "end": {
          "line": 71,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2834,
      "end": 2835,
      "loc": {
        "start": {
          "line": 71,
          "column": 39
        },
        "end": {
          "line": 71,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterEdgeAdded",
      "start": 2835,
      "end": 2849,
      "loc": {
        "start": {
          "line": 71,
          "column": 40
        },
        "end": {
          "line": 71,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2849,
      "end": 2850,
      "loc": {
        "start": {
          "line": 71,
          "column": 54
        },
        "end": {
          "line": 71,
          "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": 2850,
      "end": 2854,
      "loc": {
        "start": {
          "line": 71,
          "column": 55
        },
        "end": {
          "line": 71,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2854,
      "end": 2855,
      "loc": {
        "start": {
          "line": 71,
          "column": 59
        },
        "end": {
          "line": 71,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2855,
      "end": 2866,
      "loc": {
        "start": {
          "line": 71,
          "column": 60
        },
        "end": {
          "line": 71,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2866,
      "end": 2867,
      "loc": {
        "start": {
          "line": 71,
          "column": 71
        },
        "end": {
          "line": 71,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "click",
      "start": 2867,
      "end": 2872,
      "loc": {
        "start": {
          "line": 71,
          "column": 72
        },
        "end": {
          "line": 71,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2872,
      "end": 2873,
      "loc": {
        "start": {
          "line": 71,
          "column": 77
        },
        "end": {
          "line": 71,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 2873,
      "end": 2881,
      "loc": {
        "start": {
          "line": 71,
          "column": 78
        },
        "end": {
          "line": 71,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2881,
      "end": 2882,
      "loc": {
        "start": {
          "line": 71,
          "column": 86
        },
        "end": {
          "line": 71,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2882,
      "end": 2883,
      "loc": {
        "start": {
          "line": 71,
          "column": 87
        },
        "end": {
          "line": 71,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2883,
      "end": 2884,
      "loc": {
        "start": {
          "line": 71,
          "column": 88
        },
        "end": {
          "line": 71,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2894,
      "end": 2895,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2895,
      "end": 2896,
      "loc": {
        "start": {
          "line": 72,
          "column": 9
        },
        "end": {
          "line": 72,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2896,
      "end": 2897,
      "loc": {
        "start": {
          "line": 72,
          "column": 10
        },
        "end": {
          "line": 72,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2903,
      "end": 2904,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleComplete",
      "start": 2912,
      "end": 2927,
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 75,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2927,
      "end": 2928,
      "loc": {
        "start": {
          "line": 75,
          "column": 19
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 2928,
      "end": 2931,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2931,
      "end": 2932,
      "loc": {
        "start": {
          "line": 75,
          "column": 23
        },
        "end": {
          "line": 75,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2933,
      "end": 2934,
      "loc": {
        "start": {
          "line": 75,
          "column": 25
        },
        "end": {
          "line": 75,
          "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": 2944,
      "end": 2950,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "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": 2951,
      "end": 2955,
      "loc": {
        "start": {
          "line": 76,
          "column": 15
        },
        "end": {
          "line": 76,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2955,
      "end": 2956,
      "loc": {
        "start": {
          "line": 76,
          "column": 19
        },
        "end": {
          "line": 76,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 2956,
      "end": 2967,
      "loc": {
        "start": {
          "line": 76,
          "column": 20
        },
        "end": {
          "line": 76,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2967,
      "end": 2968,
      "loc": {
        "start": {
          "line": 76,
          "column": 31
        },
        "end": {
          "line": 76,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleComplete",
      "start": 2968,
      "end": 2983,
      "loc": {
        "start": {
          "line": 76,
          "column": 32
        },
        "end": {
          "line": 76,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2983,
      "end": 2984,
      "loc": {
        "start": {
          "line": 76,
          "column": 47
        },
        "end": {
          "line": 76,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 2984,
      "end": 2987,
      "loc": {
        "start": {
          "line": 76,
          "column": 48
        },
        "end": {
          "line": 76,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2987,
      "end": 2988,
      "loc": {
        "start": {
          "line": 76,
          "column": 51
        },
        "end": {
          "line": 76,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2988,
      "end": 2989,
      "loc": {
        "start": {
          "line": 76,
          "column": 52
        },
        "end": {
          "line": 76,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2995,
      "end": 2996,
      "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": "async",
      "start": 3004,
      "end": 3009,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 79,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleExecute",
      "start": 3010,
      "end": 3024,
      "loc": {
        "start": {
          "line": 79,
          "column": 10
        },
        "end": {
          "line": 79,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3024,
      "end": 3025,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 3025,
      "end": 3028,
      "loc": {
        "start": {
          "line": 79,
          "column": 25
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3028,
      "end": 3029,
      "loc": {
        "start": {
          "line": 79,
          "column": 28
        },
        "end": {
          "line": 79,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3030,
      "end": 3031,
      "loc": {
        "start": {
          "line": 79,
          "column": 30
        },
        "end": {
          "line": 79,
          "column": 31
        }
      }
    },
    {
      "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": 3041,
      "end": 3045,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3045,
      "end": 3046,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastPoint",
      "start": 3046,
      "end": 3055,
      "loc": {
        "start": {
          "line": 80,
          "column": 13
        },
        "end": {
          "line": 80,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3056,
      "end": 3057,
      "loc": {
        "start": {
          "line": 80,
          "column": 23
        },
        "end": {
          "line": 80,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "await",
      "start": 3058,
      "end": 3063,
      "loc": {
        "start": {
          "line": 80,
          "column": 25
        },
        "end": {
          "line": 80,
          "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": 3064,
      "end": 3068,
      "loc": {
        "start": {
          "line": 80,
          "column": 31
        },
        "end": {
          "line": 80,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3068,
      "end": 3069,
      "loc": {
        "start": {
          "line": 80,
          "column": 35
        },
        "end": {
          "line": 80,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterEdgeAdded",
      "start": 3069,
      "end": 3083,
      "loc": {
        "start": {
          "line": 80,
          "column": 36
        },
        "end": {
          "line": 80,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3083,
      "end": 3084,
      "loc": {
        "start": {
          "line": 80,
          "column": 50
        },
        "end": {
          "line": 80,
          "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": 3084,
      "end": 3088,
      "loc": {
        "start": {
          "line": 80,
          "column": 51
        },
        "end": {
          "line": 80,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3088,
      "end": 3089,
      "loc": {
        "start": {
          "line": 80,
          "column": 55
        },
        "end": {
          "line": 80,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 3089,
      "end": 3100,
      "loc": {
        "start": {
          "line": 80,
          "column": 56
        },
        "end": {
          "line": 80,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3100,
      "end": 3101,
      "loc": {
        "start": {
          "line": 80,
          "column": 67
        },
        "end": {
          "line": 80,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "consoleExec",
      "start": 3101,
      "end": 3112,
      "loc": {
        "start": {
          "line": 80,
          "column": 68
        },
        "end": {
          "line": 80,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3112,
      "end": 3113,
      "loc": {
        "start": {
          "line": 80,
          "column": 79
        },
        "end": {
          "line": 80,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 3113,
      "end": 3116,
      "loc": {
        "start": {
          "line": 80,
          "column": 80
        },
        "end": {
          "line": 80,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3116,
      "end": 3117,
      "loc": {
        "start": {
          "line": 80,
          "column": 83
        },
        "end": {
          "line": 80,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3117,
      "end": 3118,
      "loc": {
        "start": {
          "line": 80,
          "column": 84
        },
        "end": {
          "line": 80,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3118,
      "end": 3119,
      "loc": {
        "start": {
          "line": 80,
          "column": 85
        },
        "end": {
          "line": 80,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3125,
      "end": 3126,
      "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": "parseRestrictions",
      "start": 3134,
      "end": 3151,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3151,
      "end": 3152,
      "loc": {
        "start": {
          "line": 83,
          "column": 21
        },
        "end": {
          "line": 83,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 3152,
      "end": 3155,
      "loc": {
        "start": {
          "line": 83,
          "column": 22
        },
        "end": {
          "line": 83,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3155,
      "end": 3156,
      "loc": {
        "start": {
          "line": 83,
          "column": 25
        },
        "end": {
          "line": 83,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3157,
      "end": 3158,
      "loc": {
        "start": {
          "line": 83,
          "column": 27
        },
        "end": {
          "line": 83,
          "column": 28
        }
      }
    },
    {
      "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": 3168,
      "end": 3174,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "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": 3175,
      "end": 3179,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3179,
      "end": 3180,
      "loc": {
        "start": {
          "line": 84,
          "column": 19
        },
        "end": {
          "line": 84,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "edgeHandler",
      "start": 3180,
      "end": 3191,
      "loc": {
        "start": {
          "line": 84,
          "column": 20
        },
        "end": {
          "line": 84,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3191,
      "end": 3192,
      "loc": {
        "start": {
          "line": 84,
          "column": 31
        },
        "end": {
          "line": 84,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseRestrictions",
      "start": 3192,
      "end": 3209,
      "loc": {
        "start": {
          "line": 84,
          "column": 32
        },
        "end": {
          "line": 84,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3209,
      "end": 3210,
      "loc": {
        "start": {
          "line": 84,
          "column": 49
        },
        "end": {
          "line": 84,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cmd",
      "start": 3210,
      "end": 3213,
      "loc": {
        "start": {
          "line": 84,
          "column": 50
        },
        "end": {
          "line": 84,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3213,
      "end": 3214,
      "loc": {
        "start": {
          "line": 84,
          "column": 53
        },
        "end": {
          "line": 84,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3214,
      "end": 3215,
      "loc": {
        "start": {
          "line": 84,
          "column": 54
        },
        "end": {
          "line": 84,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3221,
      "end": 3222,
      "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": 3224,
      "end": 3225,
      "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": 3227,
      "end": 3227,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 0
        }
      }
    }
  ]
}