{
  "type": "Program",
  "start": 0,
  "end": 27713,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 701,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 100,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 100
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 20,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 20
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 20,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 20
              }
            },
            "name": "trackPromise"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 20,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 20
              }
            },
            "name": "trackPromise"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 22,
          "end": 36,
          "loc": {
            "start": {
              "line": 1,
              "column": 22
            },
            "end": {
              "line": 1,
              "column": 36
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 22,
            "end": 36,
            "loc": {
              "start": {
                "line": 1,
                "column": 22
              },
              "end": {
                "line": 1,
                "column": 36
              }
            },
            "name": "parseToChildOf"
          },
          "local": {
            "type": "Identifier",
            "start": 22,
            "end": 36,
            "loc": {
              "start": {
                "line": 1,
                "column": 22
              },
              "end": {
                "line": 1,
                "column": 36
              }
            },
            "name": "parseToChildOf"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 38,
          "end": 48,
          "loc": {
            "start": {
              "line": 1,
              "column": 38
            },
            "end": {
              "line": 1,
              "column": 48
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 38,
            "end": 48,
            "loc": {
              "start": {
                "line": 1,
                "column": 38
              },
              "end": {
                "line": 1,
                "column": 48
              }
            },
            "name": "Expression"
          },
          "local": {
            "type": "Identifier",
            "start": 38,
            "end": 48,
            "loc": {
              "start": {
                "line": 1,
                "column": 38
              },
              "end": {
                "line": 1,
                "column": 48
              }
            },
            "name": "Expression"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 50,
          "end": 59,
          "loc": {
            "start": {
              "line": 1,
              "column": 50
            },
            "end": {
              "line": 1,
              "column": 59
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 50,
            "end": 59,
            "loc": {
              "start": {
                "line": 1,
                "column": 50
              },
              "end": {
                "line": 1,
                "column": 59
              }
            },
            "name": "Statement"
          },
          "local": {
            "type": "Identifier",
            "start": 50,
            "end": 59,
            "loc": {
              "start": {
                "line": 1,
                "column": 50
              },
              "end": {
                "line": 1,
                "column": 59
              }
            },
            "name": "Statement"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 61,
          "end": 69,
          "loc": {
            "start": {
              "line": 1,
              "column": 61
            },
            "end": {
              "line": 1,
              "column": 69
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 61,
            "end": 69,
            "loc": {
              "start": {
                "line": 1,
                "column": 61
              },
              "end": {
                "line": 1,
                "column": 69
              }
            },
            "name": "logLevel"
          },
          "local": {
            "type": "Identifier",
            "start": 61,
            "end": 69,
            "loc": {
              "start": {
                "line": 1,
                "column": 61
              },
              "end": {
                "line": 1,
                "column": 69
              }
            },
            "name": "logLevel"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 76,
        "end": 99,
        "loc": {
          "start": {
            "line": 1,
            "column": 76
          },
          "end": {
            "line": 1,
            "column": 99
          }
        },
        "value": "../sketcher/cchelpers",
        "rawValue": "../sketcher/cchelpers",
        "raw": "'../sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 101,
      "end": 163,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 62
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 109,
          "end": 128,
          "loc": {
            "start": {
              "line": 2,
              "column": 8
            },
            "end": {
              "line": 2,
              "column": 27
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 109,
            "end": 128,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 27
              }
            },
            "name": "ConstraintGenerator"
          },
          "local": {
            "type": "Identifier",
            "start": 109,
            "end": 128,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 27
              }
            },
            "name": "ConstraintGenerator"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 135,
        "end": 162,
        "loc": {
          "start": {
            "line": 2,
            "column": 34
          },
          "end": {
            "line": 2,
            "column": 61
          }
        },
        "value": "../sketcher/constraintgen",
        "rawValue": "../sketcher/constraintgen",
        "raw": "'../sketcher/constraintgen'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 164,
      "end": 204,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 40
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 171,
          "end": 177,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 171,
            "end": 177,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "Sketch"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 183,
        "end": 203,
        "loc": {
          "start": {
            "line": 3,
            "column": 19
          },
          "end": {
            "line": 3,
            "column": 39
          }
        },
        "value": "../sketcher/sketch",
        "rawValue": "../sketcher/sketch",
        "raw": "'../sketcher/sketch'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 205,
      "end": 253,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 48
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 212,
          "end": 222,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 212,
            "end": 222,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 17
              }
            },
            "name": "Constraint"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 228,
        "end": 252,
        "loc": {
          "start": {
            "line": 4,
            "column": 23
          },
          "end": {
            "line": 4,
            "column": 47
          }
        },
        "value": "../sketcher/constraint",
        "rawValue": "../sketcher/constraint",
        "raw": "'../sketcher/constraint'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 254,
      "end": 303,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 49
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 261,
          "end": 274,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 20
            }
          },
          "local": {
            "type": "Identifier",
            "start": 266,
            "end": 274,
            "loc": {
              "start": {
                "line": 5,
                "column": 12
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "name": "Controls"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 280,
        "end": 302,
        "loc": {
          "start": {
            "line": 5,
            "column": 26
          },
          "end": {
            "line": 5,
            "column": 48
          }
        },
        "value": "../sketcher/controls",
        "rawValue": "../sketcher/controls",
        "raw": "'../sketcher/controls'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 304,
      "end": 361,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 57
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 312,
          "end": 317,
          "loc": {
            "start": {
              "line": 6,
              "column": 8
            },
            "end": {
              "line": 6,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 312,
            "end": 317,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 312,
            "end": 317,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 319,
          "end": 323,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 6,
              "column": 19
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 319,
            "end": 323,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 319,
            "end": 323,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 325,
          "end": 328,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 325,
            "end": 328,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 325,
            "end": 328,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 335,
        "end": 360,
        "loc": {
          "start": {
            "line": 6,
            "column": 31
          },
          "end": {
            "line": 6,
            "column": 56
          }
        },
        "value": "../sketcher/geomobjects",
        "rawValue": "../sketcher/geomobjects",
        "raw": "'../sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 362,
      "end": 400,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 38
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 369,
          "end": 374,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 369,
            "end": 374,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 12
              }
            },
            "name": "Orbit"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 380,
        "end": 399,
        "loc": {
          "start": {
            "line": 7,
            "column": 18
          },
          "end": {
            "line": 7,
            "column": 37
          }
        },
        "value": "../controls/orbit",
        "rawValue": "../controls/orbit",
        "raw": "'../controls/orbit'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 401,
      "end": 448,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 408,
          "end": 421,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 20
            }
          },
          "local": {
            "type": "Identifier",
            "start": 413,
            "end": 421,
            "loc": {
              "start": {
                "line": 8,
                "column": 12
              },
              "end": {
                "line": 8,
                "column": 20
              }
            },
            "name": "Elements"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 427,
        "end": 447,
        "loc": {
          "start": {
            "line": 8,
            "column": 26
          },
          "end": {
            "line": 8,
            "column": 46
          }
        },
        "value": "../plugin/elements",
        "rawValue": "../plugin/elements",
        "raw": "'../plugin/elements'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 449,
      "end": 487,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 38
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 456,
          "end": 462,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 456,
            "end": 462,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 13
              }
            },
            "name": "Plugin"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 468,
        "end": 486,
        "loc": {
          "start": {
            "line": 9,
            "column": 19
          },
          "end": {
            "line": 9,
            "column": 37
          }
        },
        "value": "../plugin/plugin",
        "rawValue": "../plugin/plugin",
        "raw": "'../plugin/plugin'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 488,
      "end": 527,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 495,
          "end": 502,
          "loc": {
            "start": {
              "line": 10,
              "column": 7
            },
            "end": {
              "line": 10,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 495,
            "end": 502,
            "loc": {
              "start": {
                "line": 10,
                "column": 7
              },
              "end": {
                "line": 10,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 508,
        "end": 526,
        "loc": {
          "start": {
            "line": 10,
            "column": 20
          },
          "end": {
            "line": 10,
            "column": 38
          }
        },
        "value": "../three/object3",
        "rawValue": "../three/object3",
        "raw": "'../three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 528,
      "end": 554,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 535,
          "end": 540,
          "loc": {
            "start": {
              "line": 11,
              "column": 7
            },
            "end": {
              "line": 11,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 535,
            "end": 540,
            "loc": {
              "start": {
                "line": 11,
                "column": 7
              },
              "end": {
                "line": 11,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 546,
        "end": 553,
        "loc": {
          "start": {
            "line": 11,
            "column": 18
          },
          "end": {
            "line": 11,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 555,
      "end": 666,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 111
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 562,
          "end": 574,
          "loc": {
            "start": {
              "line": 12,
              "column": 7
            },
            "end": {
              "line": 12,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 562,
            "end": 574,
            "loc": {
              "start": {
                "line": 12,
                "column": 7
              },
              "end": {
                "line": 12,
                "column": 19
              }
            },
            "name": "SketcherFont"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 580,
        "end": 665,
        "loc": {
          "start": {
            "line": 12,
            "column": 25
          },
          "end": {
            "line": 12,
            "column": 110
          }
        },
        "value": "json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json",
        "rawValue": "json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json",
        "raw": "'json!../../node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 667,
      "end": 709,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 42
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 675,
          "end": 684,
          "loc": {
            "start": {
              "line": 13,
              "column": 8
            },
            "end": {
              "line": 13,
              "column": 17
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 675,
            "end": 684,
            "loc": {
              "start": {
                "line": 13,
                "column": 8
              },
              "end": {
                "line": 13,
                "column": 17
              }
            },
            "name": "Timestamp"
          },
          "local": {
            "type": "Identifier",
            "start": 675,
            "end": 684,
            "loc": {
              "start": {
                "line": 13,
                "column": 8
              },
              "end": {
                "line": 13,
                "column": 17
              }
            },
            "name": "Timestamp"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 691,
        "end": 708,
        "loc": {
          "start": {
            "line": 13,
            "column": 24
          },
          "end": {
            "line": 13,
            "column": 41
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": "note: only for testing purposes",
          "start": 710,
          "end": 743,
          "loc": {
            "start": {
              "line": 14,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 33
            }
          },
          "range": [
            710,
            743
          ]
        }
      ]
    },
    {
      "type": "ImportDeclaration",
      "start": 744,
      "end": 792,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 48
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 751,
          "end": 762,
          "loc": {
            "start": {
              "line": 15,
              "column": 7
            },
            "end": {
              "line": 15,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 751,
            "end": 762,
            "loc": {
              "start": {
                "line": 15,
                "column": 7
              },
              "end": {
                "line": 15,
                "column": 18
              }
            },
            "name": "RunAllTests",
            "leadingComments": null
          },
          "leadingComments": null
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 768,
        "end": 791,
        "loc": {
          "start": {
            "line": 15,
            "column": 24
          },
          "end": {
            "line": 15,
            "column": 47
          }
        },
        "value": "../sketcher/unittests",
        "rawValue": "../sketcher/unittests",
        "raw": "'../sketcher/unittests'"
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": "note: only for testing purposes",
          "start": 710,
          "end": 743,
          "loc": {
            "start": {
              "line": 14,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 33
            }
          },
          "range": [
            710,
            743
          ]
        }
      ]
    },
    {
      "type": "ClassDeclaration",
      "start": 794,
      "end": 1267,
      "loc": {
        "start": {
          "line": 17,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 800,
        "end": 814,
        "loc": {
          "start": {
            "line": 17,
            "column": 6
          },
          "end": {
            "line": 17,
            "column": 20
          }
        },
        "name": "CursorPosition"
      },
      "superClass": {
        "type": "MemberExpression",
        "start": 823,
        "end": 836,
        "loc": {
          "start": {
            "line": 17,
            "column": 29
          },
          "end": {
            "line": 17,
            "column": 42
          }
        },
        "object": {
          "type": "Identifier",
          "start": 823,
          "end": 828,
          "loc": {
            "start": {
              "line": 17,
              "column": 29
            },
            "end": {
              "line": 17,
              "column": 34
            }
          },
          "name": "THREE"
        },
        "property": {
          "type": "Identifier",
          "start": 829,
          "end": 836,
          "loc": {
            "start": {
              "line": 17,
              "column": 35
            },
            "end": {
              "line": 17,
              "column": 42
            }
          },
          "name": "Vector3"
        },
        "computed": false
      },
      "body": {
        "type": "ClassBody",
        "start": 837,
        "end": 1267,
        "loc": {
          "start": {
            "line": 17,
            "column": 43
          },
          "end": {
            "line": 37,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 843,
            "end": 954,
            "loc": {
              "start": {
                "line": 18,
                "column": 4
              },
              "end": {
                "line": 22,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 843,
              "end": 854,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 4
                },
                "end": {
                  "line": 18,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 854,
              "end": 954,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 15
                },
                "end": {
                  "line": 22,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 855,
                  "end": 863,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 16
                    },
                    "end": {
                      "line": 18,
                      "column": 24
                    }
                  },
                  "name": "notifier"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 865,
                "end": 954,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 26
                  },
                  "end": {
                    "line": 22,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 875,
                    "end": 883,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 16
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 875,
                      "end": 882,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 15
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 875,
                        "end": 880,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 13
                          }
                        }
                      },
                      "arguments": []
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 892,
                    "end": 914,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 8
                      },
                      "end": {
                        "line": 20,
                        "column": 30
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 892,
                      "end": 913,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 29
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 892,
                        "end": 899,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 8
                          },
                          "end": {
                            "line": 20,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 892,
                          "end": 896,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 8
                            },
                            "end": {
                              "line": 20,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 897,
                          "end": 899,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 13
                            },
                            "end": {
                              "line": 20,
                              "column": 15
                            }
                          },
                          "name": "_x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "AssignmentExpression",
                        "start": 902,
                        "end": 913,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 18
                          },
                          "end": {
                            "line": 20,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 902,
                          "end": 909,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 18
                            },
                            "end": {
                              "line": 20,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 902,
                            "end": 906,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 18
                              },
                              "end": {
                                "line": 20,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 907,
                            "end": 909,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 23
                              },
                              "end": {
                                "line": 20,
                                "column": 25
                              }
                            },
                            "name": "_y"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 912,
                          "end": 913,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 28
                            },
                            "end": {
                              "line": 20,
                              "column": 29
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 923,
                    "end": 948,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 8
                      },
                      "end": {
                        "line": 21,
                        "column": 33
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 923,
                      "end": 947,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 8
                        },
                        "end": {
                          "line": 21,
                          "column": 32
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 923,
                        "end": 936,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 8
                          },
                          "end": {
                            "line": 21,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 923,
                          "end": 927,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 8
                            },
                            "end": {
                              "line": 21,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 928,
                          "end": 936,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 13
                            },
                            "end": {
                              "line": 21,
                              "column": 21
                            }
                          },
                          "name": "notifier"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 939,
                        "end": 947,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 24
                          },
                          "end": {
                            "line": 21,
                            "column": 32
                          }
                        },
                        "name": "notifier"
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 959,
            "end": 986,
            "loc": {
              "start": {
                "line": 23,
                "column": 4
              },
              "end": {
                "line": 23,
                "column": 31
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 963,
              "end": 964,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 8
                },
                "end": {
                  "line": 23,
                  "column": 9
                }
              },
              "name": "x"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 964,
              "end": 986,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 9
                },
                "end": {
                  "line": 23,
                  "column": 31
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 967,
                "end": 986,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 12
                  },
                  "end": {
                    "line": 23,
                    "column": 31
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 969,
                    "end": 984,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 14
                      },
                      "end": {
                        "line": 23,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 976,
                      "end": 983,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 21
                        },
                        "end": {
                          "line": 23,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 976,
                        "end": 980,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 21
                          },
                          "end": {
                            "line": 23,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 981,
                        "end": 983,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 26
                          },
                          "end": {
                            "line": 23,
                            "column": 28
                          }
                        },
                        "name": "_x"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 991,
            "end": 1018,
            "loc": {
              "start": {
                "line": 24,
                "column": 4
              },
              "end": {
                "line": 24,
                "column": 31
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 995,
              "end": 996,
              "loc": {
                "start": {
                  "line": 24,
                  "column": 8
                },
                "end": {
                  "line": 24,
                  "column": 9
                }
              },
              "name": "y"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 996,
              "end": 1018,
              "loc": {
                "start": {
                  "line": 24,
                  "column": 9
                },
                "end": {
                  "line": 24,
                  "column": 31
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 999,
                "end": 1018,
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 12
                  },
                  "end": {
                    "line": 24,
                    "column": 31
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1001,
                    "end": 1016,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 14
                      },
                      "end": {
                        "line": 24,
                        "column": 29
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 1008,
                      "end": 1015,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 21
                        },
                        "end": {
                          "line": 24,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 1008,
                        "end": 1012,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 21
                          },
                          "end": {
                            "line": 24,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1013,
                        "end": 1015,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 26
                          },
                          "end": {
                            "line": 24,
                            "column": 28
                          }
                        },
                        "name": "_y"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 1023,
            "end": 1044,
            "loc": {
              "start": {
                "line": 25,
                "column": 4
              },
              "end": {
                "line": 25,
                "column": 25
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1027,
              "end": 1028,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 8
                },
                "end": {
                  "line": 25,
                  "column": 9
                }
              },
              "name": "z"
            },
            "static": false,
            "kind": "get",
            "value": {
              "type": "FunctionExpression",
              "start": 1028,
              "end": 1044,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 9
                },
                "end": {
                  "line": 25,
                  "column": 25
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1031,
                "end": 1044,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 12
                  },
                  "end": {
                    "line": 25,
                    "column": 25
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1033,
                    "end": 1042,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 14
                      },
                      "end": {
                        "line": 25,
                        "column": 23
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 1040,
                      "end": 1041,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 21
                        },
                        "end": {
                          "line": 25,
                          "column": 22
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 1049,
            "end": 1133,
            "loc": {
              "start": {
                "line": 26,
                "column": 4
              },
              "end": {
                "line": 30,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1049,
              "end": 1052,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 4
                },
                "end": {
                  "line": 26,
                  "column": 7
                }
              },
              "name": "set"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 1052,
              "end": 1133,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 7
                },
                "end": {
                  "line": 30,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1053,
                  "end": 1054,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 8
                    },
                    "end": {
                      "line": 26,
                      "column": 9
                    }
                  },
                  "name": "x"
                },
                {
                  "type": "Identifier",
                  "start": 1056,
                  "end": 1057,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 11
                    },
                    "end": {
                      "line": 26,
                      "column": 12
                    }
                  },
                  "name": "y"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1059,
                "end": 1133,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 14
                  },
                  "end": {
                    "line": 30,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1069,
                    "end": 1081,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 8
                      },
                      "end": {
                        "line": 27,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1069,
                      "end": 1080,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 1069,
                        "end": 1076,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1069,
                          "end": 1073,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1074,
                          "end": 1076,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 13
                            },
                            "end": {
                              "line": 27,
                              "column": 15
                            }
                          },
                          "name": "_x"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 1079,
                        "end": 1080,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 18
                          },
                          "end": {
                            "line": 27,
                            "column": 19
                          }
                        },
                        "name": "x"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1090,
                    "end": 1102,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 8
                      },
                      "end": {
                        "line": 28,
                        "column": 20
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1090,
                      "end": 1101,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 19
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 1090,
                        "end": 1097,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 8
                          },
                          "end": {
                            "line": 28,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1090,
                          "end": 1094,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1095,
                          "end": 1097,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 13
                            },
                            "end": {
                              "line": 28,
                              "column": 15
                            }
                          },
                          "name": "_y"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 1100,
                        "end": 1101,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 18
                          },
                          "end": {
                            "line": 28,
                            "column": 19
                          }
                        },
                        "name": "y"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1111,
                    "end": 1127,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 8
                      },
                      "end": {
                        "line": 29,
                        "column": 24
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1111,
                      "end": 1126,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 23
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1111,
                        "end": 1124,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1111,
                          "end": 1115,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1116,
                          "end": 1124,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 13
                            },
                            "end": {
                              "line": 29,
                              "column": 21
                            }
                          },
                          "name": "notifier"
                        },
                        "computed": false
                      },
                      "arguments": []
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 1138,
            "end": 1187,
            "loc": {
              "start": {
                "line": 31,
                "column": 4
              },
              "end": {
                "line": 33,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1138,
              "end": 1142,
              "loc": {
                "start": {
                  "line": 31,
                  "column": 4
                },
                "end": {
                  "line": 31,
                  "column": 8
                }
              },
              "name": "copy"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 1142,
              "end": 1187,
              "loc": {
                "start": {
                  "line": 31,
                  "column": 8
                },
                "end": {
                  "line": 33,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1143,
                  "end": 1146,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 9
                    },
                    "end": {
                      "line": 31,
                      "column": 12
                    }
                  },
                  "name": "pos"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1148,
                "end": 1187,
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 14
                  },
                  "end": {
                    "line": 33,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1158,
                    "end": 1181,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 31
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1158,
                      "end": 1180,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 30
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1158,
                        "end": 1166,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1158,
                          "end": 1162,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1163,
                          "end": 1166,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 13
                            },
                            "end": {
                              "line": 32,
                              "column": 16
                            }
                          },
                          "name": "set"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 1167,
                          "end": 1172,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 17
                            },
                            "end": {
                              "line": 32,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1167,
                            "end": 1170,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 17
                              },
                              "end": {
                                "line": 32,
                                "column": 20
                              }
                            },
                            "name": "pos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1171,
                            "end": 1172,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 21
                              },
                              "end": {
                                "line": 32,
                                "column": 22
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1174,
                          "end": 1179,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 24
                            },
                            "end": {
                              "line": 32,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1174,
                            "end": 1177,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 24
                              },
                              "end": {
                                "line": 32,
                                "column": 27
                              }
                            },
                            "name": "pos"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1178,
                            "end": 1179,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 28
                              },
                              "end": {
                                "line": 32,
                                "column": 29
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 1192,
            "end": 1265,
            "loc": {
              "start": {
                "line": 34,
                "column": 4
              },
              "end": {
                "line": 36,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1192,
              "end": 1197,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 4
                },
                "end": {
                  "line": 34,
                  "column": 9
                }
              },
              "name": "clone"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 1197,
              "end": 1265,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 9
                },
                "end": {
                  "line": 36,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1200,
                "end": 1265,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 12
                  },
                  "end": {
                    "line": 36,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1210,
                    "end": 1259,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 8
                      },
                      "end": {
                        "line": 35,
                        "column": 57
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 1217,
                      "end": 1258,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 15
                        },
                        "end": {
                          "line": 35,
                          "column": 56
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1221,
                        "end": 1234,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 19
                          },
                          "end": {
                            "line": 35,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1221,
                          "end": 1226,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 19
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1227,
                          "end": 1234,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 25
                            },
                            "end": {
                              "line": 35,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 1235,
                          "end": 1241,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 33
                            },
                            "end": {
                              "line": 35,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1235,
                            "end": 1239,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 33
                              },
                              "end": {
                                "line": 35,
                                "column": 37
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1240,
                            "end": 1241,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 38
                              },
                              "end": {
                                "line": 35,
                                "column": 39
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1243,
                          "end": 1249,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 41
                            },
                            "end": {
                              "line": 35,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1243,
                            "end": 1247,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 41
                              },
                              "end": {
                                "line": 35,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1248,
                            "end": 1249,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 46
                              },
                              "end": {
                                "line": 35,
                                "column": 47
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 1251,
                          "end": 1257,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 49
                            },
                            "end": {
                              "line": 35,
                              "column": 55
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1251,
                            "end": 1255,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 49
                              },
                              "end": {
                                "line": 35,
                                "column": 53
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1256,
                            "end": 1257,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 54
                              },
                              "end": {
                                "line": 35,
                                "column": 55
                              }
                            },
                            "name": "z"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 1269,
      "end": 22942,
      "loc": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 596,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 1284,
        "end": 22942,
        "loc": {
          "start": {
            "line": 39,
            "column": 15
          },
          "end": {
            "line": 596,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1290,
          "end": 1298,
          "loc": {
            "start": {
              "line": 39,
              "column": 21
            },
            "end": {
              "line": 39,
              "column": 29
            }
          },
          "name": "Sketcher"
        },
        "superClass": {
          "type": "Identifier",
          "start": 1307,
          "end": 1313,
          "loc": {
            "start": {
              "line": 39,
              "column": 38
            },
            "end": {
              "line": 39,
              "column": 44
            }
          },
          "name": "Plugin"
        },
        "body": {
          "type": "ClassBody",
          "start": 1314,
          "end": 22942,
          "loc": {
            "start": {
              "line": 39,
              "column": 45
            },
            "end": {
              "line": 596,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 1370,
              "end": 3588,
              "loc": {
                "start": {
                  "line": 41,
                  "column": 4
                },
                "end": {
                  "line": 93,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1370,
                "end": 1381,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 4
                  },
                  "end": {
                    "line": 41,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 1381,
                "end": 3588,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 15
                  },
                  "end": {
                    "line": 93,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1382,
                    "end": 1389,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 16
                      },
                      "end": {
                        "line": 41,
                        "column": 23
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1391,
                  "end": 3588,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 25
                    },
                    "end": {
                      "line": 93,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1401,
                      "end": 1605,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1401,
                        "end": 1604,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 1401,
                          "end": 1406,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 1407,
                            "end": 1603,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 14
                              },
                              "end": {
                                "line": 49,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1421,
                                "end": 1437,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 28
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1421,
                                  "end": 1425,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 16
                                    }
                                  },
                                  "name": "name"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1427,
                                  "end": 1437,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 28
                                    }
                                  },
                                  "value": "Sketcher",
                                  "rawValue": "Sketcher",
                                  "raw": "'Sketcher'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1451,
                                "end": 1464,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 25
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1451,
                                  "end": 1455,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 16
                                    }
                                  },
                                  "name": "icon"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1457,
                                  "end": 1464,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 25
                                    }
                                  },
                                  "value": "write",
                                  "rawValue": "write",
                                  "raw": "'write'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1478,
                                "end": 1509,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 43
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1478,
                                  "end": 1503,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 37
                                    }
                                  },
                                  "name": "autoconstraintIncremental"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1505,
                                  "end": 1509,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 43
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1523,
                                "end": 1540,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 29
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1523,
                                  "end": 1536,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 25
                                    }
                                  },
                                  "name": "expressionSet"
                                },
                                "value": {
                                  "type": "ArrayExpression",
                                  "start": 1538,
                                  "end": 1540,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 29
                                    }
                                  },
                                  "elements": []
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1554,
                                "end": 1568,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 26
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1554,
                                  "end": 1564,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 22
                                    }
                                  },
                                  "name": "promptText"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1566,
                                  "end": 1568,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 26
                                    }
                                  },
                                  "value": "",
                                  "rawValue": "",
                                  "raw": "''"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "SpreadProperty",
                                "start": 1582,
                                "end": 1592,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 22
                                  }
                                },
                                "argument": {
                                  "type": "Identifier",
                                  "start": 1585,
                                  "end": 1592,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 22
                                    }
                                  },
                                  "name": "options"
                                }
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1614,
                      "end": 1701,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 95
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1614,
                        "end": 1700,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 94
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1614,
                          "end": 1640,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1614,
                            "end": 1623,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 8
                              },
                              "end": {
                                "line": 50,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1614,
                              "end": 1618,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 8
                                },
                                "end": {
                                  "line": 50,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1619,
                              "end": 1623,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 13
                                },
                                "end": {
                                  "line": 50,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1624,
                            "end": 1640,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 18
                              },
                              "end": {
                                "line": 50,
                                "column": 34
                              }
                            },
                            "name": "interactionPoint"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1643,
                          "end": 1700,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 37
                            },
                            "end": {
                              "line": 50,
                              "column": 94
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1647,
                            "end": 1661,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 41
                              },
                              "end": {
                                "line": 50,
                                "column": 55
                              }
                            },
                            "name": "CursorPosition"
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 1662,
                              "end": 1699,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 56
                                },
                                "end": {
                                  "line": 50,
                                  "column": 93
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1662,
                                "end": 1693,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 87
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 1662,
                                  "end": 1688,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 82
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1662,
                                    "end": 1666,
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 60
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1667,
                                    "end": 1688,
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 82
                                      }
                                    },
                                    "name": "interactionPointMoved"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1689,
                                  "end": 1693,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 87
                                    }
                                  },
                                  "name": "bind"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "start": 1694,
                                  "end": 1698,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 88
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 92
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1710,
                      "end": 1961,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1710,
                        "end": 1960,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1710,
                          "end": 1731,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1710,
                            "end": 1716,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 14
                              }
                            },
                            "name": "Object"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1717,
                            "end": 1731,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 15
                              },
                              "end": {
                                "line": 51,
                                "column": 29
                              }
                            },
                            "name": "defineProperty"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1732,
                            "end": 1741,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 30
                              },
                              "end": {
                                "line": 51,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1732,
                              "end": 1736,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 30
                                },
                                "end": {
                                  "line": 51,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1737,
                              "end": 1741,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 35
                                },
                                "end": {
                                  "line": 51,
                                  "column": 39
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 1743,
                            "end": 1761,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 41
                              },
                              "end": {
                                "line": 51,
                                "column": 59
                              }
                            },
                            "value": "incrementalLevel",
                            "rawValue": "incrementalLevel",
                            "raw": "'incrementalLevel'"
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 1763,
                            "end": 1959,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 61
                              },
                              "end": {
                                "line": 56,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1777,
                                "end": 1793,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 28
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1777,
                                  "end": 1787,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 22
                                    }
                                  },
                                  "name": "enumerable"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1789,
                                  "end": 1793,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 28
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1807,
                                "end": 1825,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 30
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1807,
                                  "end": 1819,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 24
                                    }
                                  },
                                  "name": "configurable"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1821,
                                  "end": 1825,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 30
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 1839,
                                "end": 1883,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 56
                                  }
                                },
                                "method": true,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1839,
                                  "end": 1842,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 15
                                    }
                                  },
                                  "name": "get"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 1842,
                                  "end": 1883,
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 56
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 1845,
                                    "end": 1883,
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 56
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ReturnStatement",
                                        "start": 1847,
                                        "end": 1881,
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 54
                                          }
                                        },
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 1854,
                                          "end": 1880,
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 53
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1854,
                                            "end": 1862,
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 35
                                              }
                                            },
                                            "name": "sketcher"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1863,
                                            "end": 1880,
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 53
                                              }
                                            },
                                            "name": "_incrementalLevel"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "Property",
                                "start": 1897,
                                "end": 1948,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 63
                                  }
                                },
                                "method": true,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1897,
                                  "end": 1900,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 15
                                    }
                                  },
                                  "name": "set"
                                },
                                "kind": "init",
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 1900,
                                  "end": 1948,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 63
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 1901,
                                      "end": 1906,
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 21
                                        }
                                      },
                                      "name": "value"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 1908,
                                    "end": 1948,
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 63
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 1910,
                                        "end": 1946,
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 61
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 1910,
                                          "end": 1945,
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 60
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1910,
                                            "end": 1938,
                                            "loc": {
                                              "start": {
                                                "line": 55,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 53
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1910,
                                              "end": 1918,
                                              "loc": {
                                                "start": {
                                                  "line": 55,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 55,
                                                  "column": 33
                                                }
                                              },
                                              "name": "sketcher"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1919,
                                              "end": 1938,
                                              "loc": {
                                                "start": {
                                                  "line": 55,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 55,
                                                  "column": 53
                                                }
                                              },
                                              "name": "setIncrementalLevel"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 1939,
                                              "end": 1944,
                                              "loc": {
                                                "start": {
                                                  "line": 55,
                                                  "column": 54
                                                },
                                                "end": {
                                                  "line": 55,
                                                  "column": 59
                                                }
                                              },
                                              "name": "value"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1971,
                      "end": 2002,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1971,
                        "end": 2001,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1971,
                          "end": 1994,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1971,
                            "end": 1979,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 16
                              }
                            },
                            "name": "Sketcher"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1980,
                            "end": 1994,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 17
                              },
                              "end": {
                                "line": 58,
                                "column": 31
                              }
                            },
                            "name": "globalSketcher"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 1997,
                          "end": 2001,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 34
                            },
                            "end": {
                              "line": 58,
                              "column": 38
                            }
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " FIXME global",
                          "start": 2003,
                          "end": 2018,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 40
                            },
                            "end": {
                              "line": 58,
                              "column": 55
                            }
                          },
                          "range": [
                            2003,
                            2018
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2027,
                      "end": 2054,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2027,
                        "end": 2053,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2027,
                          "end": 2036,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2027,
                            "end": 2031,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2032,
                            "end": 2036,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 13
                              },
                              "end": {
                                "line": 59,
                                "column": 17
                              }
                            },
                            "name": "view"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2039,
                          "end": 2053,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 20
                            },
                            "end": {
                              "line": 59,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2039,
                            "end": 2048,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 20
                              },
                              "end": {
                                "line": 59,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2039,
                              "end": 2043,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 20
                                },
                                "end": {
                                  "line": 59,
                                  "column": 24
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2044,
                              "end": 2048,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 25
                                },
                                "end": {
                                  "line": 59,
                                  "column": 29
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2049,
                            "end": 2053,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 30
                              },
                              "end": {
                                "line": 59,
                                "column": 34
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " FIXME global",
                          "start": 2003,
                          "end": 2018,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 40
                            },
                            "end": {
                              "line": 58,
                              "column": 55
                            }
                          },
                          "range": [
                            2003,
                            2018
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2063,
                      "end": 2094,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2063,
                        "end": 2093,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2063,
                          "end": 2074,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2063,
                            "end": 2067,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2068,
                            "end": 2074,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 19
                              }
                            },
                            "name": "socket"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2077,
                          "end": 2093,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 22
                            },
                            "end": {
                              "line": 60,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2077,
                            "end": 2086,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 22
                              },
                              "end": {
                                "line": 60,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2077,
                              "end": 2081,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 22
                                },
                                "end": {
                                  "line": 60,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2082,
                              "end": 2086,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 27
                                },
                                "end": {
                                  "line": 60,
                                  "column": 31
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2087,
                            "end": 2093,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 32
                              },
                              "end": {
                                "line": 60,
                                "column": 38
                              }
                            },
                            "name": "socket"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2103,
                      "end": 2129,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2103,
                        "end": 2128,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2103,
                          "end": 2121,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2103,
                            "end": 2107,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 8
                              },
                              "end": {
                                "line": 61,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2108,
                            "end": 2121,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 13
                              },
                              "end": {
                                "line": 61,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2124,
                          "end": 2128,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 29
                            },
                            "end": {
                              "line": 61,
                              "column": 33
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "a method currently intended to handle any mouse events on the selected sketch",
                          "start": 2139,
                          "end": 2218,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 87
                            }
                          },
                          "range": [
                            2139,
                            2218
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2227,
                      "end": 2263,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2227,
                        "end": 2262,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2227,
                          "end": 2255,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2227,
                            "end": 2231,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2232,
                            "end": 2255,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 13
                              },
                              "end": {
                                "line": 64,
                                "column": 36
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2258,
                          "end": 2262,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 39
                            },
                            "end": {
                              "line": 64,
                              "column": 43
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "a method currently intended to handle any mouse events on the selected sketch",
                          "start": 2139,
                          "end": 2218,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 87
                            }
                          },
                          "range": [
                            2139,
                            2218
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "used for drawing text labels of dimensions",
                          "start": 2273,
                          "end": 2317,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 66,
                              "column": 52
                            }
                          },
                          "range": [
                            2273,
                            2317
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2326,
                      "end": 2366,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 48
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2330,
                          "end": 2365,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 12
                            },
                            "end": {
                              "line": 67,
                              "column": 47
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2330,
                            "end": 2340,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 22
                              }
                            },
                            "name": "fontLoader",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 2343,
                            "end": 2365,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 25
                              },
                              "end": {
                                "line": 67,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2347,
                              "end": 2363,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 29
                                },
                                "end": {
                                  "line": 67,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2347,
                                "end": 2352,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 34
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2353,
                                "end": 2363,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 45
                                  }
                                },
                                "name": "FontLoader"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "used for drawing text labels of dimensions",
                          "start": 2273,
                          "end": 2317,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 66,
                              "column": 52
                            }
                          },
                          "range": [
                            2273,
                            2317
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2375,
                      "end": 2418,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2375,
                        "end": 2417,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2375,
                          "end": 2384,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2375,
                            "end": 2379,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2380,
                            "end": 2384,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 13
                              },
                              "end": {
                                "line": 68,
                                "column": 17
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2387,
                          "end": 2417,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 20
                            },
                            "end": {
                              "line": 68,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2387,
                            "end": 2403,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 20
                              },
                              "end": {
                                "line": 68,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2387,
                              "end": 2397,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 20
                                },
                                "end": {
                                  "line": 68,
                                  "column": 30
                                }
                              },
                              "name": "fontLoader"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2398,
                              "end": 2403,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 31
                                },
                                "end": {
                                  "line": 68,
                                  "column": 36
                                }
                              },
                              "name": "parse"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2404,
                              "end": 2416,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 37
                                },
                                "end": {
                                  "line": 68,
                                  "column": 49
                                }
                              },
                              "name": "SketcherFont"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2427,
                      "end": 2470,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2427,
                        "end": 2469,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 69,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2427,
                          "end": 2457,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2427,
                            "end": 2452,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2427,
                              "end": 2437,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 18
                                }
                              },
                              "name": "Constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2438,
                              "end": 2452,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 19
                                },
                                "end": {
                                  "line": 69,
                                  "column": 33
                                }
                              },
                              "name": "TextParameters"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2453,
                            "end": 2457,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 34
                              },
                              "end": {
                                "line": 69,
                                "column": 38
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2460,
                          "end": 2469,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 41
                            },
                            "end": {
                              "line": 69,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2460,
                            "end": 2464,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 41
                              },
                              "end": {
                                "line": 69,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2465,
                            "end": 2469,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 46
                              },
                              "end": {
                                "line": 69,
                                "column": 50
                              }
                            },
                            "name": "font"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2480,
                      "end": 2500,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 71,
                          "column": 28
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2484,
                          "end": 2499,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 12
                            },
                            "end": {
                              "line": 71,
                              "column": 27
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2484,
                            "end": 2492,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 12
                              },
                              "end": {
                                "line": 71,
                                "column": 20
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 2495,
                            "end": 2499,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 23
                              },
                              "end": {
                                "line": 71,
                                "column": 27
                              }
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2509,
                      "end": 2540,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2509,
                        "end": 2539,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2509,
                          "end": 2531,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2509,
                            "end": 2513,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2514,
                            "end": 2531,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 13
                              },
                              "end": {
                                "line": 72,
                                "column": 30
                              }
                            },
                            "name": "_incrementalLevel"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2534,
                          "end": 2539,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 33
                            },
                            "end": {
                              "line": 72,
                              "column": 38
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2549,
                      "end": 3582,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 92,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2549,
                        "end": 3581,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 8
                          },
                          "end": {
                            "line": 92,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2549,
                          "end": 2566,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2549,
                            "end": 2553,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 8
                              },
                              "end": {
                                "line": 73,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2554,
                            "end": 2566,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 13
                              },
                              "end": {
                                "line": 73,
                                "column": 25
                              }
                            },
                            "name": "modelMethods"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2569,
                          "end": 3581,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 28
                            },
                            "end": {
                              "line": 92,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2583,
                              "end": 2730,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 12
                                },
                                "end": {
                                  "line": 76,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2583,
                                "end": 2596,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 25
                                  }
                                },
                                "name": "addExpression"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2598,
                                "end": 2730,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2609,
                                  "end": 2730,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2627,
                                      "end": 2716,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 105
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2627,
                                        "end": 2715,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 104
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2627,
                                          "end": 2650,
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2627,
                                            "end": 2645,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 75,
                                                "column": 34
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 2627,
                                              "end": 2631,
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 75,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2632,
                                              "end": 2645,
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 75,
                                                  "column": 34
                                                }
                                              },
                                              "name": "expressionSet"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2646,
                                            "end": 2650,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 75,
                                                "column": 39
                                              }
                                            },
                                            "name": "push"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 2651,
                                            "end": 2714,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 75,
                                                "column": 103
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 2652,
                                                "end": 2659,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 48
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2652,
                                                  "end": 2656,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 45
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2657,
                                                  "end": 2659,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 48
                                                    }
                                                  },
                                                  "value": "",
                                                  "rawValue": "",
                                                  "raw": "''"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2661,
                                                "end": 2669,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 58
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2661,
                                                  "end": 2666,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 55
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2668,
                                                  "end": 2669,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 58
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2671,
                                                "end": 2685,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 74
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2671,
                                                  "end": 2681,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 70
                                                    }
                                                  },
                                                  "name": "expression"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2683,
                                                  "end": 2685,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 74
                                                    }
                                                  },
                                                  "value": "",
                                                  "rawValue": "",
                                                  "raw": "''"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2687,
                                                "end": 2698,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 76
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 87
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2687,
                                                  "end": 2692,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 76
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 81
                                                    }
                                                  },
                                                  "name": "fixed"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2694,
                                                  "end": 2698,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 87
                                                    }
                                                  },
                                                  "value": true,
                                                  "rawValue": true,
                                                  "raw": "true"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2700,
                                                "end": 2713,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 89
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 102
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2700,
                                                  "end": 2707,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 89
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 96
                                                    }
                                                  },
                                                  "name": "visible"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2709,
                                                  "end": 2713,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 98
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 102
                                                    }
                                                  },
                                                  "value": true,
                                                  "rawValue": true,
                                                  "raw": "true"
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2744,
                              "end": 2957,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 12
                                },
                                "end": {
                                  "line": 81,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2744,
                                "end": 2760,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 28
                                  }
                                },
                                "name": "removeExpression"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2762,
                                "end": 2957,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 2771,
                                    "end": 2781,
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 49
                                      }
                                    },
                                    "name": "expression"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2783,
                                  "end": 2957,
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 2801,
                                      "end": 2852,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 67
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 2805,
                                          "end": 2851,
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 66
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 2805,
                                            "end": 2810,
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 25
                                              }
                                            },
                                            "name": "index"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 2813,
                                            "end": 2851,
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 66
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 2813,
                                              "end": 2839,
                                              "loc": {
                                                "start": {
                                                  "line": 78,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 78,
                                                  "column": 54
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2813,
                                                "end": 2831,
                                                "loc": {
                                                  "start": {
                                                    "line": 78,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 78,
                                                    "column": 46
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 2813,
                                                  "end": 2817,
                                                  "loc": {
                                                    "start": {
                                                      "line": 78,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 78,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2818,
                                                  "end": 2831,
                                                  "loc": {
                                                    "start": {
                                                      "line": 78,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 78,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "expressionSet"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2832,
                                                "end": 2839,
                                                "loc": {
                                                  "start": {
                                                    "line": 78,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 78,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "indexOf"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2840,
                                                "end": 2850,
                                                "loc": {
                                                  "start": {
                                                    "line": 78,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 78,
                                                    "column": 65
                                                  }
                                                },
                                                "name": "expression"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 2869,
                                      "end": 2943,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 56
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 2873,
                                        "end": 2885,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 32
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 2873,
                                          "end": 2878,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 25
                                            }
                                          },
                                          "name": "index"
                                        },
                                        "operator": "!==",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 2883,
                                          "end": 2885,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 32
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 2884,
                                            "end": 2885,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 32
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 2907,
                                        "end": 2943,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 56
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 2907,
                                          "end": 2942,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 55
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 2907,
                                            "end": 2932,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 45
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2907,
                                              "end": 2925,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 2907,
                                                "end": 2911,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2912,
                                                "end": 2925,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 38
                                                  }
                                                },
                                                "name": "expressionSet"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2926,
                                              "end": 2932,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 45
                                                }
                                              },
                                              "name": "splice"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 2933,
                                              "end": 2938,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 51
                                                }
                                              },
                                              "name": "index"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 2940,
                                              "end": 2941,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 54
                                                }
                                              },
                                              "value": 1,
                                              "rawValue": 1,
                                              "raw": "1"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2971,
                              "end": 3113,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 12
                                },
                                "end": {
                                  "line": 84,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2971,
                                "end": 2989,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 30
                                  }
                                },
                                "name": "resetExpressionSet"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 2991,
                                "end": 3113,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3002,
                                  "end": 3113,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3020,
                                      "end": 3099,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 95
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 3020,
                                        "end": 3098,
                                        "loc": {
                                          "start": {
                                            "line": 83,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 94
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3020,
                                          "end": 3032,
                                          "loc": {
                                            "start": {
                                              "line": 83,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 83,
                                              "column": 28
                                            }
                                          },
                                          "name": "trackPromise"
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 3033,
                                            "end": 3097,
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 93
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3033,
                                              "end": 3080,
                                              "loc": {
                                                "start": {
                                                  "line": 83,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 83,
                                                  "column": 76
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3033,
                                                "end": 3072,
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 68
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3033,
                                                  "end": 3055,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 51
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3033,
                                                    "end": 3041,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 37
                                                      }
                                                    },
                                                    "name": "sketcher"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3042,
                                                    "end": 3055,
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 51
                                                      }
                                                    },
                                                    "name": "currentSketch"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3056,
                                                  "end": 3072,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 68
                                                    }
                                                  },
                                                  "name": "updateFromServer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3073,
                                                "end": 3080,
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 76
                                                  }
                                                },
                                                "name": "execute"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 3081,
                                                "end": 3096,
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 77
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 92
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3081,
                                                  "end": 3089,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 77
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 85
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3090,
                                                  "end": 3096,
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 92
                                                    }
                                                  },
                                                  "name": "socket"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 3127,
                              "end": 3570,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 12
                                },
                                "end": {
                                  "line": 91,
                                  "column": 13
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3127,
                                "end": 3146,
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 31
                                  }
                                },
                                "name": "submitExpressionSet"
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "start": 3148,
                                "end": 3570,
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 13
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 3159,
                                  "end": 3570,
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3177,
                                      "end": 3261,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 100
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3181,
                                          "end": 3260,
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 99
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3181,
                                            "end": 3188,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 27
                                              }
                                            },
                                            "name": "esArray"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3191,
                                            "end": 3260,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 99
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3191,
                                              "end": 3213,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 52
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3191,
                                                "end": 3209,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 48
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3191,
                                                  "end": 3195,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 34
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3196,
                                                  "end": 3209,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 48
                                                    }
                                                  },
                                                  "name": "expressionSet"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3210,
                                                "end": 3213,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "map"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 3214,
                                                "end": 3259,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 98
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 3214,
                                                    "end": 3215,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 54
                                                      }
                                                    },
                                                    "name": "e"
                                                  }
                                                ],
                                                "body": {
                                                  "type": "ArrayExpression",
                                                  "start": 3219,
                                                  "end": 3259,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 98
                                                    }
                                                  },
                                                  "elements": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3220,
                                                      "end": 3226,
                                                      "loc": {
                                                        "start": {
                                                          "line": 86,
                                                          "column": 59
                                                        },
                                                        "end": {
                                                          "line": 86,
                                                          "column": 65
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3220,
                                                        "end": 3221,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 59
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 60
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3222,
                                                        "end": 3226,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 65
                                                          }
                                                        },
                                                        "name": "name"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3228,
                                                      "end": 3235,
                                                      "loc": {
                                                        "start": {
                                                          "line": 86,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 86,
                                                          "column": 74
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3228,
                                                        "end": 3229,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 67
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 68
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3230,
                                                        "end": 3235,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 69
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 74
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3237,
                                                      "end": 3249,
                                                      "loc": {
                                                        "start": {
                                                          "line": 86,
                                                          "column": 76
                                                        },
                                                        "end": {
                                                          "line": 86,
                                                          "column": 88
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3237,
                                                        "end": 3238,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 76
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 77
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3239,
                                                        "end": 3249,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 78
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 88
                                                          }
                                                        },
                                                        "name": "expression"
                                                      },
                                                      "computed": false
                                                    },
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 3251,
                                                      "end": 3258,
                                                      "loc": {
                                                        "start": {
                                                          "line": 86,
                                                          "column": 90
                                                        },
                                                        "end": {
                                                          "line": 86,
                                                          "column": 97
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3251,
                                                        "end": 3252,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 90
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 91
                                                          }
                                                        },
                                                        "name": "e"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3253,
                                                        "end": 3258,
                                                        "loc": {
                                                          "start": {
                                                            "line": 86,
                                                            "column": 92
                                                          },
                                                          "end": {
                                                            "line": 86,
                                                            "column": 97
                                                          }
                                                        },
                                                        "name": "fixed"
                                                      },
                                                      "computed": false
                                                    }
                                                  ]
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3278,
                                      "end": 3399,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 137
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3282,
                                          "end": 3398,
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 136
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3282,
                                            "end": 3289,
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 27
                                              }
                                            },
                                            "name": "promise"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3292,
                                            "end": 3398,
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 136
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3292,
                                              "end": 3381,
                                              "loc": {
                                                "start": {
                                                  "line": 87,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 87,
                                                  "column": 119
                                                }
                                              },
                                              "object": {
                                                "type": "CallExpression",
                                                "start": 3292,
                                                "end": 3373,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 111
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 3292,
                                                  "end": 3308,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 46
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3292,
                                                    "end": 3301,
                                                    "loc": {
                                                      "start": {
                                                        "line": 87,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 87,
                                                        "column": 39
                                                      }
                                                    },
                                                    "name": "Statement"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3302,
                                                    "end": 3308,
                                                    "loc": {
                                                      "start": {
                                                        "line": 87,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 87,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "Return"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "CallExpression",
                                                    "start": 3309,
                                                    "end": 3372,
                                                    "loc": {
                                                      "start": {
                                                        "line": 87,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 87,
                                                        "column": 110
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 3309,
                                                      "end": 3339,
                                                      "loc": {
                                                        "start": {
                                                          "line": 87,
                                                          "column": 47
                                                        },
                                                        "end": {
                                                          "line": 87,
                                                          "column": 77
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 3309,
                                                        "end": 3319,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 57
                                                          }
                                                        },
                                                        "name": "Expression"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3320,
                                                        "end": 3339,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 58
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 77
                                                          }
                                                        },
                                                        "name": "UpdateExpressionSet"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "start": 3340,
                                                        "end": 3362,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 78
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 100
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 3340,
                                                          "end": 3348,
                                                          "loc": {
                                                            "start": {
                                                              "line": 87,
                                                              "column": 78
                                                            },
                                                            "end": {
                                                              "line": 87,
                                                              "column": 86
                                                            }
                                                          },
                                                          "name": "sketcher"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 3349,
                                                          "end": 3362,
                                                          "loc": {
                                                            "start": {
                                                              "line": 87,
                                                              "column": 87
                                                            },
                                                            "end": {
                                                              "line": 87,
                                                              "column": 100
                                                            }
                                                          },
                                                          "name": "currentSketch"
                                                        },
                                                        "computed": false
                                                      },
                                                      {
                                                        "type": "Identifier",
                                                        "start": 3364,
                                                        "end": 3371,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 102
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 109
                                                          }
                                                        },
                                                        "name": "esArray"
                                                      }
                                                    ]
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3374,
                                                "end": 3381,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 112
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 119
                                                  }
                                                },
                                                "name": "execute"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "start": 3382,
                                                "end": 3397,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 120
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 135
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3382,
                                                  "end": 3390,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 120
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 128
                                                    }
                                                  },
                                                  "name": "sketcher"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3391,
                                                  "end": 3397,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 129
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 135
                                                    }
                                                  },
                                                  "name": "socket"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3416,
                                      "end": 3517,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 74
                                        }
                                      },
                                      "test": {
                                        "type": "MemberExpression",
                                        "start": 3420,
                                        "end": 3441,
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 3420,
                                          "end": 3424,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3425,
                                          "end": 3441,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 41
                                            }
                                          },
                                          "name": "incrementalLevel"
                                        },
                                        "computed": false
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 3463,
                                        "end": 3517,
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 74
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 3463,
                                          "end": 3516,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 73
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 3463,
                                            "end": 3470,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 27
                                              }
                                            },
                                            "name": "promise"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 3473,
                                            "end": 3516,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 73
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3473,
                                              "end": 3485,
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3473,
                                                "end": 3480,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "promise"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3481,
                                                "end": 3485,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "then"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 3486,
                                                "end": 3515,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 72
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [],
                                                "body": {
                                                  "type": "CallExpression",
                                                  "start": 3492,
                                                  "end": 3515,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 72
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 3492,
                                                    "end": 3513,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 70
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 3492,
                                                      "end": 3496,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 49
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 53
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3497,
                                                      "end": 3513,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 54
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 70
                                                        }
                                                      },
                                                      "name": "solveConstraints"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": []
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": null
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3534,
                                      "end": 3556,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 38
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 3534,
                                        "end": 3555,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 37
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3534,
                                          "end": 3546,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 28
                                            }
                                          },
                                          "name": "trackPromise"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 3547,
                                            "end": 3554,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 36
                                              }
                                            },
                                            "name": "promise"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " recognized options: view, [consoleElement]",
                  "start": 1320,
                  "end": 1365,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 4
                    },
                    "end": {
                      "line": 40,
                      "column": 49
                    }
                  },
                  "range": [
                    1320,
                    1365
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 3594,
              "end": 4886,
              "loc": {
                "start": {
                  "line": 95,
                  "column": 4
                },
                "end": {
                  "line": 123,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3594,
                "end": 3603,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 4
                  },
                  "end": {
                    "line": 95,
                    "column": 13
                  }
                },
                "name": "onEnabled"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3603,
                "end": 4886,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 13
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3604,
                    "end": 3615,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 14
                      },
                      "end": {
                        "line": 95,
                        "column": 25
                      }
                    },
                    "name": "integration"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3617,
                  "end": 4886,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 27
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 3874,
                      "end": 3954,
                      "loc": {
                        "start": {
                          "line": 101,
                          "column": 8
                        },
                        "end": {
                          "line": 101,
                          "column": 88
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3880,
                          "end": 3953,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 14
                            },
                            "end": {
                              "line": 101,
                              "column": 87
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3880,
                            "end": 3891,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 14
                              },
                              "end": {
                                "line": 101,
                                "column": 25
                              }
                            },
                            "name": "parentTypes",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 3894,
                            "end": 3953,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 28
                              },
                              "end": {
                                "line": 101,
                                "column": 87
                              }
                            },
                            "elements": [
                              {
                                "type": "Literal",
                                "start": 3895,
                                "end": 3907,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 41
                                  }
                                },
                                "value": "AllObjects",
                                "rawValue": "AllObjects",
                                "raw": "'AllObjects'"
                              },
                              {
                                "type": "Literal",
                                "start": 3909,
                                "end": 3918,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 52
                                  }
                                },
                                "value": "CC_Part",
                                "rawValue": "CC_Part",
                                "raw": "'CC_Part'"
                              },
                              {
                                "type": "Literal",
                                "start": 3920,
                                "end": 3936,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 70
                                  }
                                },
                                "value": "CC_GeometrySet",
                                "rawValue": "CC_GeometrySet",
                                "raw": "'CC_GeometrySet'"
                              },
                              {
                                "type": "Literal",
                                "start": 3938,
                                "end": 3952,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 86
                                  }
                                },
                                "value": "CC_SketchSet",
                                "rawValue": "CC_SketchSet",
                                "raw": "'CC_SketchSet'"
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "const",
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "\n         * Ideally object hierarchy will be reworked, and interaction will support\n         * complex filters, but for now we just have to list all possible\n         * parent types to select an object deep in the hierarchy.\n         ",
                          "start": 3627,
                          "end": 3865,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 8
                            },
                            "end": {
                              "line": 100,
                              "column": 11
                            }
                          },
                          "range": [
                            3627,
                            3865
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3963,
                      "end": 3999,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 8
                        },
                        "end": {
                          "line": 102,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3963,
                        "end": 3998,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 8
                          },
                          "end": {
                            "line": 102,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3963,
                          "end": 3978,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 8
                            },
                            "end": {
                              "line": 102,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3963,
                            "end": 3972,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 8
                              },
                              "end": {
                                "line": 102,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3963,
                              "end": 3967,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 8
                                },
                                "end": {
                                  "line": 102,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3968,
                              "end": 3972,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 13
                                },
                                "end": {
                                  "line": 102,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3973,
                            "end": 3978,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 18
                              },
                              "end": {
                                "line": 102,
                                "column": 23
                              }
                            },
                            "name": "title"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3981,
                          "end": 3998,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 26
                            },
                            "end": {
                              "line": 102,
                              "column": 43
                            }
                          },
                          "value": "Select a sketch",
                          "rawValue": "Select a sketch",
                          "raw": "'Select a sketch'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4008,
                      "end": 4880,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4008,
                        "end": 4879,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4008,
                          "end": 4026,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 8
                            },
                            "end": {
                              "line": 103,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4008,
                            "end": 4017,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 8
                              },
                              "end": {
                                "line": 103,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4008,
                              "end": 4012,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 8
                                },
                                "end": {
                                  "line": 103,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4013,
                              "end": 4017,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 13
                                },
                                "end": {
                                  "line": 103,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4018,
                            "end": 4026,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 18
                              },
                              "end": {
                                "line": 103,
                                "column": 26
                              }
                            },
                            "name": "elements"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 4029,
                          "end": 4879,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 29
                            },
                            "end": {
                              "line": 122,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "NewExpression",
                              "start": 4043,
                              "end": 4868,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 12
                                },
                                "end": {
                                  "line": 121,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4047,
                                "end": 4065,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4047,
                                  "end": 4055,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 24
                                    }
                                  },
                                  "name": "Elements"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4056,
                                  "end": 4065,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 34
                                    }
                                  },
                                  "name": "Selection"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 4066,
                                  "end": 4867,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 4084,
                                      "end": 4098,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 30
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4084,
                                        "end": 4088,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 20
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 4090,
                                        "end": 4098,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 30
                                          }
                                        },
                                        "value": "Sketch",
                                        "rawValue": "Sketch",
                                        "raw": "'Sketch'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4116,
                                      "end": 4326,
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 17
                                        }
                                      },
                                      "method": true,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4116,
                                        "end": 4121,
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 21
                                          }
                                        },
                                        "name": "types"
                                      },
                                      "kind": "init",
                                      "value": {
                                        "type": "FunctionExpression",
                                        "start": 4121,
                                        "end": 4326,
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 17
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 4122,
                                            "end": 4128,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 28
                                              }
                                            },
                                            "name": "object"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 4130,
                                          "end": 4326,
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 17
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 4152,
                                              "end": 4214,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 82
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 4156,
                                                "end": 4195,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 63
                                                  }
                                                },
                                                "left": {
                                                  "type": "CallExpression",
                                                  "start": 4156,
                                                  "end": 4188,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 56
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4156,
                                                    "end": 4175,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 43
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 4156,
                                                      "end": 4167,
                                                      "loc": {
                                                        "start": {
                                                          "line": 107,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 107,
                                                          "column": 35
                                                        }
                                                      },
                                                      "name": "parentTypes"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4168,
                                                      "end": 4175,
                                                      "loc": {
                                                        "start": {
                                                          "line": 107,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 107,
                                                          "column": 43
                                                        }
                                                      },
                                                      "name": "indexOf"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 4176,
                                                      "end": 4187,
                                                      "loc": {
                                                        "start": {
                                                          "line": 107,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 107,
                                                          "column": 55
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 4176,
                                                        "end": 4182,
                                                        "loc": {
                                                          "start": {
                                                            "line": 107,
                                                            "column": 44
                                                          },
                                                          "end": {
                                                            "line": 107,
                                                            "column": 50
                                                          }
                                                        },
                                                        "name": "object"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4183,
                                                        "end": 4187,
                                                        "loc": {
                                                          "start": {
                                                            "line": 107,
                                                            "column": 51
                                                          },
                                                          "end": {
                                                            "line": 107,
                                                            "column": 55
                                                          }
                                                        },
                                                        "name": "type"
                                                      },
                                                      "computed": false
                                                    }
                                                  ]
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "UnaryExpression",
                                                  "start": 4193,
                                                  "end": 4195,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 63
                                                    }
                                                  },
                                                  "operator": "-",
                                                  "prefix": true,
                                                  "argument": {
                                                    "type": "Literal",
                                                    "start": 4194,
                                                    "end": 4195,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 62
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 63
                                                      }
                                                    },
                                                    "value": 1,
                                                    "rawValue": 1,
                                                    "raw": "1"
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "ReturnStatement",
                                                "start": 4197,
                                                "end": 4214,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 82
                                                  }
                                                },
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 4204,
                                                  "end": 4213,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 81
                                                    }
                                                  },
                                                  "name": "undefined"
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "ReturnStatement",
                                              "start": 4235,
                                              "end": 4308,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 93
                                                }
                                              },
                                              "argument": {
                                                "type": "BinaryExpression",
                                                "start": 4242,
                                                "end": 4307,
                                                "loc": {
                                                  "start": {
                                                    "line": 108,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 108,
                                                    "column": 92
                                                  }
                                                },
                                                "left": {
                                                  "type": "CallExpression",
                                                  "start": 4242,
                                                  "end": 4300,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 85
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4242,
                                                    "end": 4287,
                                                    "loc": {
                                                      "start": {
                                                        "line": 108,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 108,
                                                        "column": 72
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ArrayExpression",
                                                      "start": 4242,
                                                      "end": 4279,
                                                      "loc": {
                                                        "start": {
                                                          "line": 108,
                                                          "column": 27
                                                        },
                                                        "end": {
                                                          "line": 108,
                                                          "column": 64
                                                        }
                                                      },
                                                      "elements": [
                                                        {
                                                          "type": "Literal",
                                                          "start": 4243,
                                                          "end": 4257,
                                                          "loc": {
                                                            "start": {
                                                              "line": 108,
                                                              "column": 28
                                                            },
                                                            "end": {
                                                              "line": 108,
                                                              "column": 42
                                                            }
                                                          },
                                                          "value": "CC_WorkPlane",
                                                          "rawValue": "CC_WorkPlane",
                                                          "raw": "'CC_WorkPlane'"
                                                        },
                                                        {
                                                          "type": "Literal",
                                                          "start": 4259,
                                                          "end": 4270,
                                                          "loc": {
                                                            "start": {
                                                              "line": 108,
                                                              "column": 44
                                                            },
                                                            "end": {
                                                              "line": 108,
                                                              "column": 55
                                                            }
                                                          },
                                                          "value": "CC_Sketch",
                                                          "rawValue": "CC_Sketch",
                                                          "raw": "'CC_Sketch'"
                                                        },
                                                        {
                                                          "type": "Literal",
                                                          "start": 4272,
                                                          "end": 4278,
                                                          "loc": {
                                                            "start": {
                                                              "line": 108,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 108,
                                                              "column": 63
                                                            }
                                                          },
                                                          "value": "Mesh",
                                                          "rawValue": "Mesh",
                                                          "raw": "'Mesh'"
                                                        }
                                                      ]
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4280,
                                                      "end": 4287,
                                                      "loc": {
                                                        "start": {
                                                          "line": 108,
                                                          "column": 65
                                                        },
                                                        "end": {
                                                          "line": 108,
                                                          "column": 72
                                                        }
                                                      },
                                                      "name": "indexOf"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 4288,
                                                      "end": 4299,
                                                      "loc": {
                                                        "start": {
                                                          "line": 108,
                                                          "column": 73
                                                        },
                                                        "end": {
                                                          "line": 108,
                                                          "column": 84
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 4288,
                                                        "end": 4294,
                                                        "loc": {
                                                          "start": {
                                                            "line": 108,
                                                            "column": 73
                                                          },
                                                          "end": {
                                                            "line": 108,
                                                            "column": 79
                                                          }
                                                        },
                                                        "name": "object"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4295,
                                                        "end": 4299,
                                                        "loc": {
                                                          "start": {
                                                            "line": 108,
                                                            "column": 80
                                                          },
                                                          "end": {
                                                            "line": 108,
                                                            "column": 84
                                                          }
                                                        },
                                                        "name": "type"
                                                      },
                                                      "computed": false
                                                    }
                                                  ]
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "UnaryExpression",
                                                  "start": 4305,
                                                  "end": 4307,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 90
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 92
                                                    }
                                                  },
                                                  "operator": "-",
                                                  "prefix": true,
                                                  "argument": {
                                                    "type": "Literal",
                                                    "start": 4306,
                                                    "end": 4307,
                                                    "loc": {
                                                      "start": {
                                                        "line": 108,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 108,
                                                        "column": 92
                                                      }
                                                    },
                                                    "value": 1,
                                                    "rawValue": 1,
                                                    "raw": "1"
                                                  }
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4344,
                                      "end": 4352,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 24
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4344,
                                        "end": 4349,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 21
                                          }
                                        },
                                        "name": "limit"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 4351,
                                        "end": 4352,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 24
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4370,
                                      "end": 4382,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 28
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4370,
                                        "end": 4376,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 22
                                          }
                                        },
                                        "name": "active"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 4378,
                                        "end": 4382,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 28
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 4400,
                                      "end": 4852,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 17
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4400,
                                        "end": 4408,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 24
                                          }
                                        },
                                        "name": "onChange"
                                      },
                                      "value": {
                                        "type": "ArrowFunctionExpression",
                                        "start": 4410,
                                        "end": 4852,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 17
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": true,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 4417,
                                            "end": 4421,
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 37
                                              }
                                            },
                                            "name": "data"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 4426,
                                          "end": 4852,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 17
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 4448,
                                              "end": 4532,
                                              "loc": {
                                                "start": {
                                                  "line": 113,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 53
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 4452,
                                                "end": 4477,
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 49
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4452,
                                                  "end": 4471,
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 43
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 4452,
                                                    "end": 4464,
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 36
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 4452,
                                                      "end": 4456,
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 28
                                                        }
                                                      },
                                                      "name": "data"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4457,
                                                      "end": 4464,
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 36
                                                        }
                                                      },
                                                      "name": "objects"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4465,
                                                    "end": 4471,
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 37
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 43
                                                      }
                                                    },
                                                    "name": "length"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "Literal",
                                                  "start": 4476,
                                                  "end": 4477,
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 49
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                }
                                              },
                                              "consequent": {
                                                "type": "ReturnStatement",
                                                "start": 4503,
                                                "end": 4532,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 53
                                                  }
                                                },
                                                "argument": {
                                                  "type": "CallExpression",
                                                  "start": 4510,
                                                  "end": 4531,
                                                  "loc": {
                                                    "start": {
                                                      "line": 114,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 52
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4510,
                                                    "end": 4529,
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 4510,
                                                      "end": 4514,
                                                      "loc": {
                                                        "start": {
                                                          "line": 114,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 114,
                                                          "column": 35
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4515,
                                                      "end": 4529,
                                                      "loc": {
                                                        "start": {
                                                          "line": 114,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 114,
                                                          "column": 50
                                                        }
                                                      },
                                                      "name": "deselectSketch"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": []
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "VariableDeclaration",
                                              "start": 4553,
                                              "end": 4596,
                                              "loc": {
                                                "start": {
                                                  "line": 115,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 115,
                                                  "column": 63
                                                }
                                              },
                                              "declarations": [
                                                {
                                                  "type": "VariableDeclarator",
                                                  "start": 4557,
                                                  "end": 4595,
                                                  "loc": {
                                                    "start": {
                                                      "line": 115,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 115,
                                                      "column": 62
                                                    }
                                                  },
                                                  "id": {
                                                    "type": "Identifier",
                                                    "start": 4557,
                                                    "end": 4563,
                                                    "loc": {
                                                      "start": {
                                                        "line": 115,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 115,
                                                        "column": 30
                                                      }
                                                    },
                                                    "name": "object"
                                                  },
                                                  "init": {
                                                    "type": "MemberExpression",
                                                    "start": 4566,
                                                    "end": 4595,
                                                    "loc": {
                                                      "start": {
                                                        "line": 115,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 115,
                                                        "column": 62
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 4566,
                                                      "end": 4588,
                                                      "loc": {
                                                        "start": {
                                                          "line": 115,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 115,
                                                          "column": 55
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 4566,
                                                        "end": 4581,
                                                        "loc": {
                                                          "start": {
                                                            "line": 115,
                                                            "column": 33
                                                          },
                                                          "end": {
                                                            "line": 115,
                                                            "column": 48
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "start": 4566,
                                                          "end": 4578,
                                                          "loc": {
                                                            "start": {
                                                              "line": 115,
                                                              "column": 33
                                                            },
                                                            "end": {
                                                              "line": 115,
                                                              "column": 45
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 4566,
                                                            "end": 4570,
                                                            "loc": {
                                                              "start": {
                                                                "line": 115,
                                                                "column": 33
                                                              },
                                                              "end": {
                                                                "line": 115,
                                                                "column": 37
                                                              }
                                                            },
                                                            "name": "data"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 4571,
                                                            "end": 4578,
                                                            "loc": {
                                                              "start": {
                                                                "line": 115,
                                                                "column": 38
                                                              },
                                                              "end": {
                                                                "line": 115,
                                                                "column": 45
                                                              }
                                                            },
                                                            "name": "objects"
                                                          },
                                                          "computed": false
                                                        },
                                                        "property": {
                                                          "type": "Literal",
                                                          "start": 4579,
                                                          "end": 4580,
                                                          "loc": {
                                                            "start": {
                                                              "line": 115,
                                                              "column": 46
                                                            },
                                                            "end": {
                                                              "line": 115,
                                                              "column": 47
                                                            }
                                                          },
                                                          "value": 0,
                                                          "rawValue": 0,
                                                          "raw": "0"
                                                        },
                                                        "computed": true
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4582,
                                                        "end": 4588,
                                                        "loc": {
                                                          "start": {
                                                            "line": 115,
                                                            "column": 49
                                                          },
                                                          "end": {
                                                            "line": 115,
                                                            "column": 55
                                                          }
                                                        },
                                                        "name": "object"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4589,
                                                      "end": 4595,
                                                      "loc": {
                                                        "start": {
                                                          "line": 115,
                                                          "column": 56
                                                        },
                                                        "end": {
                                                          "line": 115,
                                                          "column": 62
                                                        }
                                                      },
                                                      "name": "parent"
                                                    },
                                                    "computed": false
                                                  }
                                                }
                                              ],
                                              "kind": "let"
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 4617,
                                              "end": 4724,
                                              "loc": {
                                                "start": {
                                                  "line": 116,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 71
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 4621,
                                                "end": 4651,
                                                "loc": {
                                                  "start": {
                                                    "line": 116,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 116,
                                                    "column": 54
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4621,
                                                  "end": 4632,
                                                  "loc": {
                                                    "start": {
                                                      "line": 116,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 116,
                                                      "column": 35
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4621,
                                                    "end": 4627,
                                                    "loc": {
                                                      "start": {
                                                        "line": 116,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 116,
                                                        "column": 30
                                                      }
                                                    },
                                                    "name": "object"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4628,
                                                    "end": 4632,
                                                    "loc": {
                                                      "start": {
                                                        "line": 116,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 116,
                                                        "column": 35
                                                      }
                                                    },
                                                    "name": "type"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "Literal",
                                                  "start": 4637,
                                                  "end": 4651,
                                                  "loc": {
                                                    "start": {
                                                      "line": 116,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 116,
                                                      "column": 54
                                                    }
                                                  },
                                                  "value": "CC_WorkPlane",
                                                  "rawValue": "CC_WorkPlane",
                                                  "raw": "'CC_WorkPlane'"
                                                }
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 4677,
                                                "end": 4724,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 71
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 4677,
                                                  "end": 4723,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 70
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "start": 4677,
                                                    "end": 4683,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 30
                                                      }
                                                    },
                                                    "name": "object"
                                                  },
                                                  "right": {
                                                    "type": "AwaitExpression",
                                                    "start": 4686,
                                                    "end": 4723,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 70
                                                      }
                                                    },
                                                    "all": false,
                                                    "argument": {
                                                      "type": "CallExpression",
                                                      "start": 4692,
                                                      "end": 4723,
                                                      "loc": {
                                                        "start": {
                                                          "line": 117,
                                                          "column": 39
                                                        },
                                                        "end": {
                                                          "line": 117,
                                                          "column": 70
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 4692,
                                                        "end": 4715,
                                                        "loc": {
                                                          "start": {
                                                            "line": 117,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 117,
                                                            "column": 62
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 4692,
                                                          "end": 4696,
                                                          "loc": {
                                                            "start": {
                                                              "line": 117,
                                                              "column": 39
                                                            },
                                                            "end": {
                                                              "line": 117,
                                                              "column": 43
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 4697,
                                                          "end": 4715,
                                                          "loc": {
                                                            "start": {
                                                              "line": 117,
                                                              "column": 44
                                                            },
                                                            "end": {
                                                              "line": 117,
                                                              "column": 62
                                                            }
                                                          },
                                                          "name": "newSketchFromPlane"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 4716,
                                                          "end": 4722,
                                                          "loc": {
                                                            "start": {
                                                              "line": 117,
                                                              "column": 63
                                                            },
                                                            "end": {
                                                              "line": 117,
                                                              "column": 69
                                                            }
                                                          },
                                                          "name": "object"
                                                        }
                                                      ]
                                                    }
                                                  }
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 4745,
                                              "end": 4834,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 119,
                                                  "column": 56
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 4749,
                                                "end": 4776,
                                                "loc": {
                                                  "start": {
                                                    "line": 118,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 118,
                                                    "column": 51
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4749,
                                                  "end": 4760,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 35
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4749,
                                                    "end": 4755,
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 30
                                                      }
                                                    },
                                                    "name": "object"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4756,
                                                    "end": 4760,
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 35
                                                      }
                                                    },
                                                    "name": "type"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "Literal",
                                                  "start": 4765,
                                                  "end": 4776,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 51
                                                    }
                                                  },
                                                  "value": "CC_Sketch",
                                                  "rawValue": "CC_Sketch",
                                                  "raw": "'CC_Sketch'"
                                                }
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 4802,
                                                "end": 4834,
                                                "loc": {
                                                  "start": {
                                                    "line": 119,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 119,
                                                    "column": 56
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AwaitExpression",
                                                  "start": 4802,
                                                  "end": 4833,
                                                  "loc": {
                                                    "start": {
                                                      "line": 119,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 119,
                                                      "column": 55
                                                    }
                                                  },
                                                  "all": false,
                                                  "argument": {
                                                    "type": "CallExpression",
                                                    "start": 4808,
                                                    "end": 4833,
                                                    "loc": {
                                                      "start": {
                                                        "line": 119,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 119,
                                                        "column": 55
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 4808,
                                                      "end": 4825,
                                                      "loc": {
                                                        "start": {
                                                          "line": 119,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 119,
                                                          "column": 47
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 4808,
                                                        "end": 4812,
                                                        "loc": {
                                                          "start": {
                                                            "line": 119,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 119,
                                                            "column": 34
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4813,
                                                        "end": 4825,
                                                        "loc": {
                                                          "start": {
                                                            "line": 119,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 119,
                                                            "column": 47
                                                          }
                                                        },
                                                        "name": "selectSketch"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 4826,
                                                        "end": 4832,
                                                        "loc": {
                                                          "start": {
                                                            "line": 119,
                                                            "column": 48
                                                          },
                                                          "end": {
                                                            "line": 119,
                                                            "column": 54
                                                          }
                                                        },
                                                        "name": "object"
                                                      }
                                                    ]
                                                  }
                                                }
                                              },
                                              "alternate": null
                                            }
                                          ]
                                        }
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4892,
              "end": 4994,
              "loc": {
                "start": {
                  "line": 125,
                  "column": 4
                },
                "end": {
                  "line": 128,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4892,
                "end": 4902,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 4
                  },
                  "end": {
                    "line": 125,
                    "column": 14
                  }
                },
                "name": "onDisabled"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4902,
                "end": 4994,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 14
                  },
                  "end": {
                    "line": 128,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4903,
                    "end": 4914,
                    "loc": {
                      "start": {
                        "line": 125,
                        "column": 15
                      },
                      "end": {
                        "line": 125,
                        "column": 26
                      }
                    },
                    "name": "integration"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4916,
                  "end": 4994,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 28
                    },
                    "end": {
                      "line": 128,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4926,
                      "end": 4950,
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 8
                        },
                        "end": {
                          "line": 126,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4926,
                        "end": 4949,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 8
                          },
                          "end": {
                            "line": 126,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4926,
                          "end": 4944,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4926,
                            "end": 4935,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 8
                              },
                              "end": {
                                "line": 126,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4926,
                              "end": 4930,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 8
                                },
                                "end": {
                                  "line": 126,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4931,
                              "end": 4935,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 13
                                },
                                "end": {
                                  "line": 126,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4936,
                            "end": 4944,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 18
                              },
                              "end": {
                                "line": 126,
                                "column": 26
                              }
                            },
                            "name": "elements"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 4947,
                          "end": 4949,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 29
                            },
                            "end": {
                              "line": 126,
                              "column": 31
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4959,
                      "end": 4988,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 37
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4966,
                        "end": 4987,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 15
                          },
                          "end": {
                            "line": 127,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4966,
                          "end": 4985,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 15
                            },
                            "end": {
                              "line": 127,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4966,
                            "end": 4970,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 15
                              },
                              "end": {
                                "line": 127,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4971,
                            "end": 4985,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 20
                              },
                              "end": {
                                "line": 127,
                                "column": 34
                              }
                            },
                            "name": "deselectSketch"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5000,
              "end": 9031,
              "loc": {
                "start": {
                  "line": 130,
                  "column": 4
                },
                "end": {
                  "line": 216,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5000,
                "end": 5024,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 4
                  },
                  "end": {
                    "line": 130,
                    "column": 28
                  }
                },
                "name": "addSketchControlElements"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5024,
                "end": 9031,
                "loc": {
                  "start": {
                    "line": 130,
                    "column": 28
                  },
                  "end": {
                    "line": 216,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5027,
                  "end": 9031,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 31
                    },
                    "end": {
                      "line": 216,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5037,
                      "end": 5069,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5037,
                        "end": 5068,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 8
                          },
                          "end": {
                            "line": 131,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5037,
                          "end": 5052,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 8
                            },
                            "end": {
                              "line": 131,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5037,
                            "end": 5046,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 8
                              },
                              "end": {
                                "line": 131,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5037,
                              "end": 5041,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 8
                                },
                                "end": {
                                  "line": 131,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5042,
                              "end": 5046,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 13
                                },
                                "end": {
                                  "line": 131,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5047,
                            "end": 5052,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 18
                              },
                              "end": {
                                "line": 131,
                                "column": 23
                              }
                            },
                            "name": "title"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 5055,
                          "end": 5068,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 26
                            },
                            "end": {
                              "line": 131,
                              "column": 39
                            }
                          },
                          "value": "Sketch mode",
                          "rawValue": "Sketch mode",
                          "raw": "'Sketch mode'"
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5078,
                      "end": 5817,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 747
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5084,
                          "end": 5816,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 14
                            },
                            "end": {
                              "line": 132,
                              "column": 746
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5084,
                            "end": 5089,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 14
                              },
                              "end": {
                                "line": 132,
                                "column": 19
                              }
                            },
                            "name": "icons"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 5092,
                            "end": 5816,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 22
                              },
                              "end": {
                                "line": 132,
                                "column": 746
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5092,
                              "end": 5814,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 22
                                },
                                "end": {
                                  "line": 132,
                                  "column": 744
                                }
                              },
                              "object": {
                                "type": "ArrayExpression",
                                "start": 5092,
                                "end": 5797,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 727
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Literal",
                                    "start": 5093,
                                    "end": 5106,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 36
                                      }
                                    },
                                    "value": "add to cart",
                                    "rawValue": "add to cart",
                                    "raw": "'add to cart'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5108,
                                    "end": 5118,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 48
                                      }
                                    },
                                    "value": "add user",
                                    "rawValue": "add user",
                                    "raw": "'add user'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5120,
                                    "end": 5128,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 58
                                      }
                                    },
                                    "value": "adjust",
                                    "rawValue": "adjust",
                                    "raw": "'adjust'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5130,
                                    "end": 5139,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 69
                                      }
                                    },
                                    "value": "archive",
                                    "rawValue": "archive",
                                    "raw": "'archive'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5141,
                                    "end": 5146,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 76
                                      }
                                    },
                                    "value": "ban",
                                    "rawValue": "ban",
                                    "raw": "'ban'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5148,
                                    "end": 5158,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 88
                                      }
                                    },
                                    "value": "bookmark",
                                    "rawValue": "bookmark",
                                    "raw": "'bookmark'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5160,
                                    "end": 5166,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 90
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 96
                                      }
                                    },
                                    "value": "call",
                                    "rawValue": "call",
                                    "raw": "'call'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5168,
                                    "end": 5181,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 111
                                      }
                                    },
                                    "value": "call square",
                                    "rawValue": "call square",
                                    "raw": "'call square'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5183,
                                    "end": 5190,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 113
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 120
                                      }
                                    },
                                    "value": "clone",
                                    "rawValue": "clone",
                                    "raw": "'clone'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5192,
                                    "end": 5208,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 122
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 138
                                      }
                                    },
                                    "value": "cloud download",
                                    "rawValue": "cloud download",
                                    "raw": "'cloud download'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5210,
                                    "end": 5224,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 140
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 154
                                      }
                                    },
                                    "value": "cloud upload",
                                    "rawValue": "cloud upload",
                                    "raw": "'cloud upload'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5226,
                                    "end": 5232,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 156
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 162
                                      }
                                    },
                                    "value": "talk",
                                    "rawValue": "talk",
                                    "raw": "'talk'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5234,
                                    "end": 5248,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 164
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 178
                                      }
                                    },
                                    "value": "talk outline",
                                    "rawValue": "talk outline",
                                    "raw": "'talk outline'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5250,
                                    "end": 5260,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 180
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 190
                                      }
                                    },
                                    "value": "compress",
                                    "rawValue": "compress",
                                    "raw": "'compress'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5262,
                                    "end": 5273,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 192
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 203
                                      }
                                    },
                                    "value": "configure",
                                    "rawValue": "configure",
                                    "raw": "'configure'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5275,
                                    "end": 5285,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 205
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 215
                                      }
                                    },
                                    "value": "download",
                                    "rawValue": "download",
                                    "raw": "'download'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5287,
                                    "end": 5293,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 217
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 223
                                      }
                                    },
                                    "value": "edit",
                                    "rawValue": "edit",
                                    "raw": "'edit'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5295,
                                    "end": 5302,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 225
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 232
                                      }
                                    },
                                    "value": "erase",
                                    "rawValue": "erase",
                                    "raw": "'erase'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5304,
                                    "end": 5314,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 234
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 244
                                      }
                                    },
                                    "value": "exchange",
                                    "rawValue": "exchange",
                                    "raw": "'exchange'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5316,
                                    "end": 5324,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 246
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 254
                                      }
                                    },
                                    "value": "expand",
                                    "rawValue": "expand",
                                    "raw": "'expand'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5326,
                                    "end": 5342,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 256
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 272
                                      }
                                    },
                                    "value": "external share",
                                    "rawValue": "external share",
                                    "raw": "'external share'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5344,
                                    "end": 5352,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 274
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 282
                                      }
                                    },
                                    "value": "filter",
                                    "rawValue": "filter",
                                    "raw": "'filter'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5354,
                                    "end": 5360,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 284
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 290
                                      }
                                    },
                                    "value": "hide",
                                    "rawValue": "hide",
                                    "raw": "'hide'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5362,
                                    "end": 5371,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 292
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 301
                                      }
                                    },
                                    "value": "in cart",
                                    "rawValue": "in cart",
                                    "raw": "'in cart'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5373,
                                    "end": 5379,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 303
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 309
                                      }
                                    },
                                    "value": "lock",
                                    "rawValue": "lock",
                                    "raw": "'lock'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5381,
                                    "end": 5395,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 311
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 325
                                      }
                                    },
                                    "value": "mail forward",
                                    "rawValue": "mail forward",
                                    "raw": "'mail forward'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5397,
                                    "end": 5411,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 327
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 341
                                      }
                                    },
                                    "value": "object group",
                                    "rawValue": "object group",
                                    "raw": "'object group'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5413,
                                    "end": 5429,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 343
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 359
                                      }
                                    },
                                    "value": "object ungroup",
                                    "rawValue": "object ungroup",
                                    "raw": "'object ungroup'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5431,
                                    "end": 5436,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 361
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 366
                                      }
                                    },
                                    "value": "pin",
                                    "rawValue": "pin",
                                    "raw": "'pin'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5438,
                                    "end": 5445,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 368
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 375
                                      }
                                    },
                                    "value": "print",
                                    "rawValue": "print",
                                    "raw": "'print'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5447,
                                    "end": 5455,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 377
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 385
                                      }
                                    },
                                    "value": "random",
                                    "rawValue": "random",
                                    "raw": "'random'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5457,
                                    "end": 5466,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 387
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 396
                                      }
                                    },
                                    "value": "recycle",
                                    "rawValue": "recycle",
                                    "raw": "'recycle'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5468,
                                    "end": 5477,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 398
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 407
                                      }
                                    },
                                    "value": "refresh",
                                    "rawValue": "refresh",
                                    "raw": "'refresh'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5479,
                                    "end": 5496,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 409
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 426
                                      }
                                    },
                                    "value": "remove bookmark",
                                    "rawValue": "remove bookmark",
                                    "raw": "'remove bookmark'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5498,
                                    "end": 5511,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 428
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 441
                                      }
                                    },
                                    "value": "remove user",
                                    "rawValue": "remove user",
                                    "raw": "'remove user'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5513,
                                    "end": 5521,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 443
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 451
                                      }
                                    },
                                    "value": "repeat",
                                    "rawValue": "repeat",
                                    "raw": "'repeat'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5523,
                                    "end": 5534,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 453
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 464
                                      }
                                    },
                                    "value": "reply all",
                                    "rawValue": "reply all",
                                    "raw": "'reply all'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5536,
                                    "end": 5543,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 466
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 473
                                      }
                                    },
                                    "value": "reply",
                                    "rawValue": "reply",
                                    "raw": "'reply'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5545,
                                    "end": 5554,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 475
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 484
                                      }
                                    },
                                    "value": "retweet",
                                    "rawValue": "retweet",
                                    "raw": "'retweet'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5556,
                                    "end": 5562,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 486
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 492
                                      }
                                    },
                                    "value": "send",
                                    "rawValue": "send",
                                    "raw": "'send'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5564,
                                    "end": 5578,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 494
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 508
                                      }
                                    },
                                    "value": "send outline",
                                    "rawValue": "send outline",
                                    "raw": "'send outline'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5580,
                                    "end": 5597,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 510
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 527
                                      }
                                    },
                                    "value": "share alternate",
                                    "rawValue": "share alternate",
                                    "raw": "'share alternate'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5599,
                                    "end": 5623,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 529
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 553
                                      }
                                    },
                                    "value": "share alternate square",
                                    "rawValue": "share alternate square",
                                    "raw": "'share alternate square'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5625,
                                    "end": 5632,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 555
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 562
                                      }
                                    },
                                    "value": "share",
                                    "rawValue": "share",
                                    "raw": "'share'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5634,
                                    "end": 5648,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 564
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 578
                                      }
                                    },
                                    "value": "share square",
                                    "rawValue": "share square",
                                    "raw": "'share square'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5650,
                                    "end": 5659,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 580
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 589
                                      }
                                    },
                                    "value": "sign in",
                                    "rawValue": "sign in",
                                    "raw": "'sign in'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5661,
                                    "end": 5671,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 591
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 601
                                      }
                                    },
                                    "value": "sign out",
                                    "rawValue": "sign out",
                                    "raw": "'sign out'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5673,
                                    "end": 5680,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 603
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 610
                                      }
                                    },
                                    "value": "theme",
                                    "rawValue": "theme",
                                    "raw": "'theme'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5682,
                                    "end": 5693,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 612
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 623
                                      }
                                    },
                                    "value": "translate",
                                    "rawValue": "translate",
                                    "raw": "'translate'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5695,
                                    "end": 5701,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 625
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 631
                                      }
                                    },
                                    "value": "undo",
                                    "rawValue": "undo",
                                    "raw": "'undo'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5703,
                                    "end": 5711,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 633
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 641
                                      }
                                    },
                                    "value": "unhide",
                                    "rawValue": "unhide",
                                    "raw": "'unhide'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5713,
                                    "end": 5731,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 643
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 661
                                      }
                                    },
                                    "value": "unlock alternate",
                                    "rawValue": "unlock alternate",
                                    "raw": "'unlock alternate'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5733,
                                    "end": 5741,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 663
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 671
                                      }
                                    },
                                    "value": "unlock",
                                    "rawValue": "unlock",
                                    "raw": "'unlock'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5743,
                                    "end": 5751,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 673
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 681
                                      }
                                    },
                                    "value": "upload",
                                    "rawValue": "upload",
                                    "raw": "'upload'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5753,
                                    "end": 5759,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 683
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 689
                                      }
                                    },
                                    "value": "wait",
                                    "rawValue": "wait",
                                    "raw": "'wait'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5761,
                                    "end": 5769,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 691
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 699
                                      }
                                    },
                                    "value": "wizard",
                                    "rawValue": "wizard",
                                    "raw": "'wizard'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5771,
                                    "end": 5778,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 701
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 708
                                      }
                                    },
                                    "value": "write",
                                    "rawValue": "write",
                                    "raw": "'write'"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 5780,
                                    "end": 5794,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 710
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 724
                                      }
                                    },
                                    "value": "write square",
                                    "rawValue": "write square",
                                    "raw": "'write square'"
                                  }
                                ]
                              },
                              "property": {
                                "type": "MemberExpression",
                                "start": 5798,
                                "end": 5813,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 728
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 743
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5798,
                                  "end": 5804,
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 728
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 734
                                    }
                                  },
                                  "name": "Symbol"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5805,
                                  "end": 5813,
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 735
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 743
                                    }
                                  },
                                  "name": "iterator"
                                },
                                "computed": false
                              },
                              "computed": true
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "const",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO use sensible icons",
                          "start": 5818,
                          "end": 5844,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 748
                            },
                            "end": {
                              "line": 132,
                              "column": 774
                            }
                          },
                          "range": [
                            5818,
                            5844
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5853,
                      "end": 6380,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 8
                        },
                        "end": {
                          "line": 144,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5853,
                        "end": 6379,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 8
                          },
                          "end": {
                            "line": 144,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5853,
                          "end": 5876,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5853,
                            "end": 5871,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 8
                              },
                              "end": {
                                "line": 133,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5853,
                              "end": 5862,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 8
                                },
                                "end": {
                                  "line": 133,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5853,
                                "end": 5857,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 12
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5858,
                                "end": 5862,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 17
                                  }
                                },
                                "name": "data"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5863,
                              "end": 5871,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 18
                                },
                                "end": {
                                  "line": 133,
                                  "column": 26
                                }
                              },
                              "name": "elements"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5872,
                            "end": 5876,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 27
                              },
                              "end": {
                                "line": 133,
                                "column": 31
                              }
                            },
                            "name": "push"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "NewExpression",
                            "start": 5890,
                            "end": 6109,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 12
                              },
                              "end": {
                                "line": 138,
                                "column": 14
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5894,
                              "end": 5911,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 16
                                },
                                "end": {
                                  "line": 134,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5894,
                                "end": 5902,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 24
                                  }
                                },
                                "name": "Elements"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5903,
                                "end": 5911,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 33
                                  }
                                },
                                "name": "CheckBox"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 5912,
                                "end": 6108,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 13
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 5930,
                                    "end": 5967,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 53
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 5930,
                                      "end": 5934,
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 20
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 5936,
                                      "end": 5967,
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 53
                                        }
                                      },
                                      "value": "solve constraints immediately",
                                      "rawValue": "solve constraints immediately",
                                      "raw": "'solve constraints immediately'"
                                    },
                                    "kind": "init"
                                  },
                                  {
                                    "type": "Property",
                                    "start": 5985,
                                    "end": 6018,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 49
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 5985,
                                      "end": 5990,
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 21
                                        }
                                      },
                                      "name": "value"
                                    },
                                    "value": {
                                      "type": "MemberExpression",
                                      "start": 5992,
                                      "end": 6018,
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 5992,
                                        "end": 6001,
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 5992,
                                          "end": 5996,
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5997,
                                          "end": 6001,
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 32
                                            }
                                          },
                                          "name": "data"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6002,
                                        "end": 6018,
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 49
                                          }
                                        },
                                        "name": "incrementalLevel"
                                      },
                                      "computed": false
                                    },
                                    "kind": "init"
                                  },
                                  {
                                    "type": "Property",
                                    "start": 6036,
                                    "end": 6093,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 73
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 6036,
                                      "end": 6044,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 24
                                        }
                                      },
                                      "name": "onChange"
                                    },
                                    "value": {
                                      "type": "ArrowFunctionExpression",
                                      "start": 6046,
                                      "end": 6093,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 73
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "ObjectPattern",
                                          "start": 6047,
                                          "end": 6054,
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 34
                                            }
                                          },
                                          "properties": [
                                            {
                                              "type": "Property",
                                              "start": 6048,
                                              "end": 6053,
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 33
                                                }
                                              },
                                              "method": false,
                                              "shorthand": true,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 6048,
                                                "end": 6053,
                                                "loc": {
                                                  "start": {
                                                    "line": 137,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 137,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "value"
                                              },
                                              "kind": "init",
                                              "value": {
                                                "type": "Identifier",
                                                "start": 6048,
                                                "end": 6053,
                                                "loc": {
                                                  "start": {
                                                    "line": 137,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 137,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "value"
                                              }
                                            }
                                          ]
                                        }
                                      ],
                                      "body": {
                                        "type": "AssignmentExpression",
                                        "start": 6059,
                                        "end": 6093,
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 73
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 6059,
                                          "end": 6085,
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 6059,
                                            "end": 6068,
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 6059,
                                              "end": 6063,
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 43
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6064,
                                              "end": 6068,
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 48
                                                }
                                              },
                                              "name": "data"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6069,
                                            "end": 6085,
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 65
                                              }
                                            },
                                            "name": "incrementalLevel"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "start": 6088,
                                          "end": 6093,
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 73
                                            }
                                          },
                                          "name": "value"
                                        }
                                      }
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "type": "NewExpression",
                            "start": 6123,
                            "end": 6368,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 12
                              },
                              "end": {
                                "line": 143,
                                "column": 14
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6127,
                              "end": 6144,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 16
                                },
                                "end": {
                                  "line": 139,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6127,
                                "end": 6135,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 24
                                  }
                                },
                                "name": "Elements"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6136,
                                "end": 6144,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 33
                                  }
                                },
                                "name": "CheckBox"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 6145,
                                "end": 6367,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 13
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 6163,
                                    "end": 6208,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 61
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 6163,
                                      "end": 6167,
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 20
                                        }
                                      },
                                      "name": "name"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 6169,
                                      "end": 6208,
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 61
                                        }
                                      },
                                      "value": "automatically add implied constraints",
                                      "rawValue": "automatically add implied constraints",
                                      "raw": "'automatically add implied constraints'"
                                    },
                                    "kind": "init"
                                  },
                                  {
                                    "type": "Property",
                                    "start": 6226,
                                    "end": 6268,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 58
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 6226,
                                      "end": 6231,
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 21
                                        }
                                      },
                                      "name": "value"
                                    },
                                    "value": {
                                      "type": "MemberExpression",
                                      "start": 6233,
                                      "end": 6268,
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 58
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 6233,
                                        "end": 6242,
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 6233,
                                          "end": 6237,
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6238,
                                          "end": 6242,
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 32
                                            }
                                          },
                                          "name": "data"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6243,
                                        "end": 6268,
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 58
                                          }
                                        },
                                        "name": "autoconstraintIncremental"
                                      },
                                      "computed": false
                                    },
                                    "kind": "init"
                                  },
                                  {
                                    "type": "Property",
                                    "start": 6286,
                                    "end": 6352,
                                    "loc": {
                                      "start": {
                                        "line": 142,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 142,
                                        "column": 82
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 6286,
                                      "end": 6294,
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 24
                                        }
                                      },
                                      "name": "onChange"
                                    },
                                    "value": {
                                      "type": "ArrowFunctionExpression",
                                      "start": 6296,
                                      "end": 6352,
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 82
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "ObjectPattern",
                                          "start": 6297,
                                          "end": 6304,
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 34
                                            }
                                          },
                                          "properties": [
                                            {
                                              "type": "Property",
                                              "start": 6298,
                                              "end": 6303,
                                              "loc": {
                                                "start": {
                                                  "line": 142,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 142,
                                                  "column": 33
                                                }
                                              },
                                              "method": false,
                                              "shorthand": true,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 6298,
                                                "end": 6303,
                                                "loc": {
                                                  "start": {
                                                    "line": 142,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 142,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "value"
                                              },
                                              "kind": "init",
                                              "value": {
                                                "type": "Identifier",
                                                "start": 6298,
                                                "end": 6303,
                                                "loc": {
                                                  "start": {
                                                    "line": 142,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 142,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "value"
                                              }
                                            }
                                          ]
                                        }
                                      ],
                                      "body": {
                                        "type": "AssignmentExpression",
                                        "start": 6309,
                                        "end": 6352,
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 82
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 6309,
                                          "end": 6344,
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 74
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 6309,
                                            "end": 6318,
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 6309,
                                              "end": 6313,
                                              "loc": {
                                                "start": {
                                                  "line": 142,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 142,
                                                  "column": 43
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6314,
                                              "end": 6318,
                                              "loc": {
                                                "start": {
                                                  "line": 142,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 142,
                                                  "column": 48
                                                }
                                              },
                                              "name": "data"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6319,
                                            "end": 6344,
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 74
                                              }
                                            },
                                            "name": "autoconstraintIncremental"
                                          },
                                          "computed": false
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "start": 6347,
                                          "end": 6352,
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 77
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 82
                                            }
                                          },
                                          "name": "value"
                                        }
                                      }
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO use sensible icons",
                          "start": 5818,
                          "end": 5844,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 748
                            },
                            "end": {
                              "line": 132,
                              "column": 774
                            }
                          },
                          "range": [
                            5818,
                            5844
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6389,
                      "end": 8689,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 207,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6389,
                        "end": 8688,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 8
                          },
                          "end": {
                            "line": 207,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6389,
                          "end": 6406,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 8
                            },
                            "end": {
                              "line": 145,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6389,
                            "end": 6398,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 8
                              },
                              "end": {
                                "line": 145,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6389,
                              "end": 6393,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 8
                                },
                                "end": {
                                  "line": 145,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6394,
                              "end": 6398,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 13
                                },
                                "end": {
                                  "line": 145,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6399,
                            "end": 6406,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 18
                              },
                              "end": {
                                "line": 145,
                                "column": 25
                              }
                            },
                            "name": "toolbar"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 6409,
                          "end": 8688,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 28
                            },
                            "end": {
                              "line": 207,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "NewExpression",
                              "start": 6423,
                              "end": 7273,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 12
                                },
                                "end": {
                                  "line": 170,
                                  "column": 17
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6427,
                                "end": 6447,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6427,
                                  "end": 6435,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 24
                                    }
                                  },
                                  "name": "Elements"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6436,
                                  "end": 6447,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 36
                                    }
                                  },
                                  "name": "ButtonGroup"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 6448,
                                  "end": 7272,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 16
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 6449,
                                      "end": 6468,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 57
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6449,
                                        "end": 6453,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 42
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 6455,
                                        "end": 6468,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 57
                                          }
                                        },
                                        "value": "Constraints",
                                        "rawValue": "Constraints",
                                        "raw": "'Constraints'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 6470,
                                      "end": 7271,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 170,
                                          "column": 15
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 6470,
                                        "end": 6475,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 64
                                          }
                                        },
                                        "name": "items"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 6477,
                                        "end": 7271,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 170,
                                            "column": 15
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6477,
                                          "end": 7075,
                                          "loc": {
                                            "start": {
                                              "line": 146,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 166,
                                              "column": 17
                                            }
                                          },
                                          "object": {
                                            "type": "ArrayExpression",
                                            "start": 6477,
                                            "end": 7071,
                                            "loc": {
                                              "start": {
                                                "line": 146,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 166,
                                                "column": 13
                                              }
                                            },
                                            "elements": [
                                              {
                                                "type": "Literal",
                                                "start": 6495,
                                                "end": 6506,
                                                "loc": {
                                                  "start": {
                                                    "line": 147,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 147,
                                                    "column": 27
                                                  }
                                                },
                                                "value": "incidence",
                                                "rawValue": "incidence",
                                                "raw": "'incidence'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6524,
                                                "end": 6534,
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 26
                                                  }
                                                },
                                                "value": "tangency",
                                                "rawValue": "tangency",
                                                "raw": "'tangency'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6552,
                                                "end": 6565,
                                                "loc": {
                                                  "start": {
                                                    "line": 149,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 149,
                                                    "column": 29
                                                  }
                                                },
                                                "value": "verticality",
                                                "rawValue": "verticality",
                                                "raw": "'verticality'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6583,
                                                "end": 6598,
                                                "loc": {
                                                  "start": {
                                                    "line": 150,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 150,
                                                    "column": 31
                                                  }
                                                },
                                                "value": "horizontality",
                                                "rawValue": "horizontality",
                                                "raw": "'horizontality'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6616,
                                                "end": 6629,
                                                "loc": {
                                                  "start": {
                                                    "line": 151,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 151,
                                                    "column": 29
                                                  }
                                                },
                                                "value": "parallelity",
                                                "rawValue": "parallelity",
                                                "raw": "'parallelity'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6647,
                                                "end": 6665,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 34
                                                  }
                                                },
                                                "value": "perpendicularity",
                                                "rawValue": "perpendicularity",
                                                "raw": "'perpendicularity'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6683,
                                                "end": 6693,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 26
                                                  }
                                                },
                                                "value": "fixation",
                                                "rawValue": "fixation",
                                                "raw": "'fixation'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6711,
                                                "end": 6721,
                                                "loc": {
                                                  "start": {
                                                    "line": 154,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 154,
                                                    "column": 26
                                                  }
                                                },
                                                "value": "colinear",
                                                "rawValue": "colinear",
                                                "raw": "'colinear'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6739,
                                                "end": 6751,
                                                "loc": {
                                                  "start": {
                                                    "line": 155,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 155,
                                                    "column": 28
                                                  }
                                                },
                                                "value": "concentric",
                                                "rawValue": "concentric",
                                                "raw": "'concentric'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6769,
                                                "end": 6779,
                                                "loc": {
                                                  "start": {
                                                    "line": 156,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 156,
                                                    "column": 26
                                                  }
                                                },
                                                "value": "midpoint",
                                                "rawValue": "midpoint",
                                                "raw": "'midpoint'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6797,
                                                "end": 6808,
                                                "loc": {
                                                  "start": {
                                                    "line": 157,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 157,
                                                    "column": 27
                                                  }
                                                },
                                                "value": "symmetric",
                                                "rawValue": "symmetric",
                                                "raw": "'symmetric'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6826,
                                                "end": 6842,
                                                "loc": {
                                                  "start": {
                                                    "line": 158,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 158,
                                                    "column": 32
                                                  }
                                                },
                                                "value": "equal_distance",
                                                "rawValue": "equal_distance",
                                                "raw": "'equal_distance'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6860,
                                                "end": 6874,
                                                "loc": {
                                                  "start": {
                                                    "line": 159,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 159,
                                                    "column": 30
                                                  }
                                                },
                                                "value": "equal_radius",
                                                "rawValue": "equal_radius",
                                                "raw": "'equal_radius'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6892,
                                                "end": 6902,
                                                "loc": {
                                                  "start": {
                                                    "line": 160,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 160,
                                                    "column": 26
                                                  }
                                                },
                                                "value": "distance",
                                                "rawValue": "distance",
                                                "raw": "'distance'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6920,
                                                "end": 6941,
                                                "loc": {
                                                  "start": {
                                                    "line": 161,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 161,
                                                    "column": 37
                                                  }
                                                },
                                                "value": "horizontal_distance",
                                                "rawValue": "horizontal_distance",
                                                "raw": "'horizontal_distance'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6959,
                                                "end": 6978,
                                                "loc": {
                                                  "start": {
                                                    "line": 162,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 162,
                                                    "column": 35
                                                  }
                                                },
                                                "value": "vertical_distance",
                                                "rawValue": "vertical_distance",
                                                "raw": "'vertical_distance'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 6996,
                                                "end": 7004,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 24
                                                  }
                                                },
                                                "value": "radius",
                                                "rawValue": "radius",
                                                "raw": "'radius'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7022,
                                                "end": 7029,
                                                "loc": {
                                                  "start": {
                                                    "line": 164,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 164,
                                                    "column": 23
                                                  }
                                                },
                                                "value": "angle",
                                                "rawValue": "angle",
                                                "raw": "'angle'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7047,
                                                "end": 7056,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 25
                                                  }
                                                },
                                                "value": "angleox",
                                                "rawValue": "angleox",
                                                "raw": "'angleox'"
                                              }
                                            ]
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7072,
                                            "end": 7075,
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 166,
                                                "column": 17
                                              }
                                            },
                                            "name": "map"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ArrowFunctionExpression",
                                            "start": 7076,
                                            "end": 7270,
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 170,
                                                "column": 14
                                              }
                                            },
                                            "id": null,
                                            "generator": false,
                                            "expression": true,
                                            "async": false,
                                            "params": [
                                              {
                                                "type": "Identifier",
                                                "start": 7077,
                                                "end": 7081,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 23
                                                  }
                                                },
                                                "name": "name"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 7083,
                                                "end": 7084,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 26
                                                  }
                                                },
                                                "name": "i"
                                              }
                                            ],
                                            "body": {
                                              "type": "NewExpression",
                                              "start": 7089,
                                              "end": 7270,
                                              "loc": {
                                                "start": {
                                                  "line": 166,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 14
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 7093,
                                                "end": 7108,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 50
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 7093,
                                                  "end": 7101,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 43
                                                    }
                                                  },
                                                  "name": "Elements"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 7102,
                                                  "end": 7108,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 50
                                                    }
                                                  },
                                                  "name": "Button"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "ObjectExpression",
                                                  "start": 7109,
                                                  "end": 7269,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 170,
                                                      "column": 13
                                                    }
                                                  },
                                                  "properties": [
                                                    {
                                                      "type": "Property",
                                                      "start": 7127,
                                                      "end": 7158,
                                                      "loc": {
                                                        "start": {
                                                          "line": 167,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 167,
                                                          "column": 47
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7127,
                                                        "end": 7134,
                                                        "loc": {
                                                          "start": {
                                                            "line": 167,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 167,
                                                            "column": 23
                                                          }
                                                        },
                                                        "name": "tooltip"
                                                      },
                                                      "value": {
                                                        "type": "CallExpression",
                                                        "start": 7136,
                                                        "end": 7158,
                                                        "loc": {
                                                          "start": {
                                                            "line": 167,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 167,
                                                            "column": 47
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 7136,
                                                          "end": 7148,
                                                          "loc": {
                                                            "start": {
                                                              "line": 167,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 167,
                                                              "column": 37
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 7136,
                                                            "end": 7140,
                                                            "loc": {
                                                              "start": {
                                                                "line": 167,
                                                                "column": 25
                                                              },
                                                              "end": {
                                                                "line": 167,
                                                                "column": 29
                                                              }
                                                            },
                                                            "name": "name"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 7141,
                                                            "end": 7148,
                                                            "loc": {
                                                              "start": {
                                                                "line": 167,
                                                                "column": 30
                                                              },
                                                              "end": {
                                                                "line": 167,
                                                                "column": 37
                                                              }
                                                            },
                                                            "name": "replace"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "Literal",
                                                            "start": 7149,
                                                            "end": 7152,
                                                            "loc": {
                                                              "start": {
                                                                "line": 167,
                                                                "column": 38
                                                              },
                                                              "end": {
                                                                "line": 167,
                                                                "column": 41
                                                              }
                                                            },
                                                            "value": "_",
                                                            "rawValue": "_",
                                                            "raw": "'_'"
                                                          },
                                                          {
                                                            "type": "Literal",
                                                            "start": 7154,
                                                            "end": 7157,
                                                            "loc": {
                                                              "start": {
                                                                "line": 167,
                                                                "column": 43
                                                              },
                                                              "end": {
                                                                "line": 167,
                                                                "column": 46
                                                              }
                                                            },
                                                            "value": " ",
                                                            "rawValue": " ",
                                                            "raw": "' '"
                                                          }
                                                        ]
                                                      },
                                                      "kind": "init"
                                                    },
                                                    {
                                                      "type": "Property",
                                                      "start": 7176,
                                                      "end": 7200,
                                                      "loc": {
                                                        "start": {
                                                          "line": 168,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 168,
                                                          "column": 40
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7176,
                                                        "end": 7180,
                                                        "loc": {
                                                          "start": {
                                                            "line": 168,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 168,
                                                            "column": 20
                                                          }
                                                        },
                                                        "name": "icon"
                                                      },
                                                      "value": {
                                                        "type": "MemberExpression",
                                                        "start": 7182,
                                                        "end": 7200,
                                                        "loc": {
                                                          "start": {
                                                            "line": 168,
                                                            "column": 22
                                                          },
                                                          "end": {
                                                            "line": 168,
                                                            "column": 40
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "CallExpression",
                                                          "start": 7182,
                                                          "end": 7194,
                                                          "loc": {
                                                            "start": {
                                                              "line": 168,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 168,
                                                              "column": 34
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 7182,
                                                            "end": 7192,
                                                            "loc": {
                                                              "start": {
                                                                "line": 168,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 168,
                                                                "column": 32
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 7182,
                                                              "end": 7187,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 168,
                                                                  "column": 22
                                                                },
                                                                "end": {
                                                                  "line": 168,
                                                                  "column": 27
                                                                }
                                                              },
                                                              "name": "icons"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 7188,
                                                              "end": 7192,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 168,
                                                                  "column": 28
                                                                },
                                                                "end": {
                                                                  "line": 168,
                                                                  "column": 32
                                                                }
                                                              },
                                                              "name": "next"
                                                            },
                                                            "computed": false
                                                          },
                                                          "arguments": []
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 7195,
                                                          "end": 7200,
                                                          "loc": {
                                                            "start": {
                                                              "line": 168,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 168,
                                                              "column": 40
                                                            }
                                                          },
                                                          "name": "value"
                                                        },
                                                        "computed": false
                                                      },
                                                      "kind": "init"
                                                    },
                                                    {
                                                      "type": "Property",
                                                      "start": 7218,
                                                      "end": 7254,
                                                      "loc": {
                                                        "start": {
                                                          "line": 169,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 169,
                                                          "column": 52
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7218,
                                                        "end": 7225,
                                                        "loc": {
                                                          "start": {
                                                            "line": 169,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 169,
                                                            "column": 23
                                                          }
                                                        },
                                                        "name": "onClick"
                                                      },
                                                      "value": {
                                                        "type": "ArrowFunctionExpression",
                                                        "start": 7227,
                                                        "end": 7254,
                                                        "loc": {
                                                          "start": {
                                                            "line": 169,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 169,
                                                            "column": 52
                                                          }
                                                        },
                                                        "id": null,
                                                        "generator": false,
                                                        "expression": true,
                                                        "async": false,
                                                        "params": [],
                                                        "body": {
                                                          "type": "CallExpression",
                                                          "start": 7233,
                                                          "end": 7254,
                                                          "loc": {
                                                            "start": {
                                                              "line": 169,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 169,
                                                              "column": 52
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 7233,
                                                            "end": 7248,
                                                            "loc": {
                                                              "start": {
                                                                "line": 169,
                                                                "column": 31
                                                              },
                                                              "end": {
                                                                "line": 169,
                                                                "column": 46
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "ThisExpression",
                                                              "start": 7233,
                                                              "end": 7237,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 169,
                                                                  "column": 31
                                                                },
                                                                "end": {
                                                                  "line": 169,
                                                                  "column": 35
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 7238,
                                                              "end": 7248,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 169,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 169,
                                                                  "column": 46
                                                                }
                                                              },
                                                              "name": "chooseTool"
                                                            },
                                                            "computed": false
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "Identifier",
                                                              "start": 7249,
                                                              "end": 7253,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 169,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 169,
                                                                  "column": 51
                                                                }
                                                              },
                                                              "name": "name"
                                                            }
                                                          ]
                                                        }
                                                      },
                                                      "kind": "init"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 7287,
                              "end": 7750,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 12
                                },
                                "end": {
                                  "line": 184,
                                  "column": 17
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7291,
                                "end": 7311,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7291,
                                  "end": 7299,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 24
                                    }
                                  },
                                  "name": "Elements"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7300,
                                  "end": 7311,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 36
                                    }
                                  },
                                  "name": "ButtonGroup"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 7312,
                                  "end": 7749,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 16
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 7313,
                                      "end": 7326,
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 171,
                                          "column": 51
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 7313,
                                        "end": 7317,
                                        "loc": {
                                          "start": {
                                            "line": 171,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 171,
                                            "column": 42
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 7319,
                                        "end": 7326,
                                        "loc": {
                                          "start": {
                                            "line": 171,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 171,
                                            "column": 51
                                          }
                                        },
                                        "value": "Tools",
                                        "rawValue": "Tools",
                                        "raw": "'Tools'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 7328,
                                      "end": 7748,
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 15
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 7328,
                                        "end": 7333,
                                        "loc": {
                                          "start": {
                                            "line": 171,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 171,
                                            "column": 58
                                          }
                                        },
                                        "name": "items"
                                      },
                                      "value": {
                                        "type": "CallExpression",
                                        "start": 7335,
                                        "end": 7748,
                                        "loc": {
                                          "start": {
                                            "line": 171,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 15
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7335,
                                          "end": 7575,
                                          "loc": {
                                            "start": {
                                              "line": 171,
                                              "column": 60
                                            },
                                            "end": {
                                              "line": 180,
                                              "column": 17
                                            }
                                          },
                                          "object": {
                                            "type": "ArrayExpression",
                                            "start": 7335,
                                            "end": 7571,
                                            "loc": {
                                              "start": {
                                                "line": 171,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 180,
                                                "column": 13
                                              }
                                            },
                                            "elements": [
                                              {
                                                "type": "Literal",
                                                "start": 7353,
                                                "end": 7360,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 23
                                                  }
                                                },
                                                "value": "point",
                                                "rawValue": "point",
                                                "raw": "'point'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7378,
                                                "end": 7384,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 22
                                                  }
                                                },
                                                "value": "line",
                                                "rawValue": "line",
                                                "raw": "'line'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7402,
                                                "end": 7413,
                                                "loc": {
                                                  "start": {
                                                    "line": 174,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 174,
                                                    "column": 27
                                                  }
                                                },
                                                "value": "arcCenter",
                                                "rawValue": "arcCenter",
                                                "raw": "'arcCenter'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7431,
                                                "end": 7443,
                                                "loc": {
                                                  "start": {
                                                    "line": 175,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 175,
                                                    "column": 28
                                                  }
                                                },
                                                "value": "arcControl",
                                                "rawValue": "arcControl",
                                                "raw": "'arcControl'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7461,
                                                "end": 7473,
                                                "loc": {
                                                  "start": {
                                                    "line": 176,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 176,
                                                    "column": 28
                                                  }
                                                },
                                                "value": "arcTangent",
                                                "rawValue": "arcTangent",
                                                "raw": "'arcTangent'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7491,
                                                "end": 7502,
                                                "loc": {
                                                  "start": {
                                                    "line": 177,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 177,
                                                    "column": 27
                                                  }
                                                },
                                                "value": "arcMiddle",
                                                "rawValue": "arcMiddle",
                                                "raw": "'arcMiddle'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7520,
                                                "end": 7530,
                                                "loc": {
                                                  "start": {
                                                    "line": 178,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 178,
                                                    "column": 26
                                                  }
                                                },
                                                "value": "polyline",
                                                "rawValue": "polyline",
                                                "raw": "'polyline'"
                                              },
                                              {
                                                "type": "Literal",
                                                "start": 7548,
                                                "end": 7556,
                                                "loc": {
                                                  "start": {
                                                    "line": 179,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 179,
                                                    "column": 24
                                                  }
                                                },
                                                "value": "fillet",
                                                "rawValue": "fillet",
                                                "raw": "'fillet'"
                                              }
                                            ]
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7572,
                                            "end": 7575,
                                            "loc": {
                                              "start": {
                                                "line": 180,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 180,
                                                "column": 17
                                              }
                                            },
                                            "name": "map"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ArrowFunctionExpression",
                                            "start": 7576,
                                            "end": 7747,
                                            "loc": {
                                              "start": {
                                                "line": 180,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 184,
                                                "column": 14
                                              }
                                            },
                                            "id": null,
                                            "generator": false,
                                            "expression": true,
                                            "async": false,
                                            "params": [
                                              {
                                                "type": "Identifier",
                                                "start": 7576,
                                                "end": 7580,
                                                "loc": {
                                                  "start": {
                                                    "line": 180,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 180,
                                                    "column": 22
                                                  }
                                                },
                                                "name": "name"
                                              }
                                            ],
                                            "body": {
                                              "type": "NewExpression",
                                              "start": 7584,
                                              "end": 7747,
                                              "loc": {
                                                "start": {
                                                  "line": 180,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 184,
                                                  "column": 14
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 7588,
                                                "end": 7603,
                                                "loc": {
                                                  "start": {
                                                    "line": 180,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 180,
                                                    "column": 45
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 7588,
                                                  "end": 7596,
                                                  "loc": {
                                                    "start": {
                                                      "line": 180,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 180,
                                                      "column": 38
                                                    }
                                                  },
                                                  "name": "Elements"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 7597,
                                                  "end": 7603,
                                                  "loc": {
                                                    "start": {
                                                      "line": 180,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 180,
                                                      "column": 45
                                                    }
                                                  },
                                                  "name": "Button"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "ObjectExpression",
                                                  "start": 7604,
                                                  "end": 7746,
                                                  "loc": {
                                                    "start": {
                                                      "line": 180,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 184,
                                                      "column": 13
                                                    }
                                                  },
                                                  "properties": [
                                                    {
                                                      "type": "Property",
                                                      "start": 7622,
                                                      "end": 7635,
                                                      "loc": {
                                                        "start": {
                                                          "line": 181,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 181,
                                                          "column": 29
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7622,
                                                        "end": 7629,
                                                        "loc": {
                                                          "start": {
                                                            "line": 181,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 181,
                                                            "column": 23
                                                          }
                                                        },
                                                        "name": "tooltip"
                                                      },
                                                      "value": {
                                                        "type": "Identifier",
                                                        "start": 7631,
                                                        "end": 7635,
                                                        "loc": {
                                                          "start": {
                                                            "line": 181,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 181,
                                                            "column": 29
                                                          }
                                                        },
                                                        "name": "name"
                                                      },
                                                      "kind": "init"
                                                    },
                                                    {
                                                      "type": "Property",
                                                      "start": 7653,
                                                      "end": 7677,
                                                      "loc": {
                                                        "start": {
                                                          "line": 182,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 182,
                                                          "column": 40
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7653,
                                                        "end": 7657,
                                                        "loc": {
                                                          "start": {
                                                            "line": 182,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 182,
                                                            "column": 20
                                                          }
                                                        },
                                                        "name": "icon"
                                                      },
                                                      "value": {
                                                        "type": "MemberExpression",
                                                        "start": 7659,
                                                        "end": 7677,
                                                        "loc": {
                                                          "start": {
                                                            "line": 182,
                                                            "column": 22
                                                          },
                                                          "end": {
                                                            "line": 182,
                                                            "column": 40
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "CallExpression",
                                                          "start": 7659,
                                                          "end": 7671,
                                                          "loc": {
                                                            "start": {
                                                              "line": 182,
                                                              "column": 22
                                                            },
                                                            "end": {
                                                              "line": 182,
                                                              "column": 34
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 7659,
                                                            "end": 7669,
                                                            "loc": {
                                                              "start": {
                                                                "line": 182,
                                                                "column": 22
                                                              },
                                                              "end": {
                                                                "line": 182,
                                                                "column": 32
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 7659,
                                                              "end": 7664,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 182,
                                                                  "column": 22
                                                                },
                                                                "end": {
                                                                  "line": 182,
                                                                  "column": 27
                                                                }
                                                              },
                                                              "name": "icons"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 7665,
                                                              "end": 7669,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 182,
                                                                  "column": 28
                                                                },
                                                                "end": {
                                                                  "line": 182,
                                                                  "column": 32
                                                                }
                                                              },
                                                              "name": "next"
                                                            },
                                                            "computed": false
                                                          },
                                                          "arguments": []
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 7672,
                                                          "end": 7677,
                                                          "loc": {
                                                            "start": {
                                                              "line": 182,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 182,
                                                              "column": 40
                                                            }
                                                          },
                                                          "name": "value"
                                                        },
                                                        "computed": false
                                                      },
                                                      "kind": "init"
                                                    },
                                                    {
                                                      "type": "Property",
                                                      "start": 7695,
                                                      "end": 7731,
                                                      "loc": {
                                                        "start": {
                                                          "line": 183,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 183,
                                                          "column": 52
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7695,
                                                        "end": 7702,
                                                        "loc": {
                                                          "start": {
                                                            "line": 183,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 183,
                                                            "column": 23
                                                          }
                                                        },
                                                        "name": "onClick"
                                                      },
                                                      "value": {
                                                        "type": "ArrowFunctionExpression",
                                                        "start": 7704,
                                                        "end": 7731,
                                                        "loc": {
                                                          "start": {
                                                            "line": 183,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 183,
                                                            "column": 52
                                                          }
                                                        },
                                                        "id": null,
                                                        "generator": false,
                                                        "expression": true,
                                                        "async": false,
                                                        "params": [],
                                                        "body": {
                                                          "type": "CallExpression",
                                                          "start": 7710,
                                                          "end": 7731,
                                                          "loc": {
                                                            "start": {
                                                              "line": 183,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 183,
                                                              "column": 52
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 7710,
                                                            "end": 7725,
                                                            "loc": {
                                                              "start": {
                                                                "line": 183,
                                                                "column": 31
                                                              },
                                                              "end": {
                                                                "line": 183,
                                                                "column": 46
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "ThisExpression",
                                                              "start": 7710,
                                                              "end": 7714,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 183,
                                                                  "column": 31
                                                                },
                                                                "end": {
                                                                  "line": 183,
                                                                  "column": 35
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 7715,
                                                              "end": 7725,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 183,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 183,
                                                                  "column": 46
                                                                }
                                                              },
                                                              "name": "chooseTool"
                                                            },
                                                            "computed": false
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "Identifier",
                                                              "start": 7726,
                                                              "end": 7730,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 183,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 183,
                                                                  "column": 51
                                                                }
                                                              },
                                                              "name": "name"
                                                            }
                                                          ]
                                                        }
                                                      },
                                                      "kind": "init"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "NewExpression",
                              "start": 7764,
                              "end": 8677,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 12
                                },
                                "end": {
                                  "line": 206,
                                  "column": 15
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7768,
                                "end": 7788,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7768,
                                  "end": 7776,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 24
                                    }
                                  },
                                  "name": "Elements"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7777,
                                  "end": 7788,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 36
                                    }
                                  },
                                  "name": "ButtonGroup"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 7789,
                                  "end": 8676,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 14
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 7790,
                                      "end": 7805,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 53
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 7790,
                                        "end": 7794,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 42
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 7796,
                                        "end": 7805,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 53
                                          }
                                        },
                                        "value": "Actions",
                                        "rawValue": "Actions",
                                        "raw": "'Actions'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 7807,
                                      "end": 8675,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 13
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 7807,
                                        "end": 7812,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 60
                                          }
                                        },
                                        "name": "items"
                                      },
                                      "value": {
                                        "type": "ArrayExpression",
                                        "start": 7814,
                                        "end": 8675,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 13
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "NewExpression",
                                            "start": 7832,
                                            "end": 8016,
                                            "loc": {
                                              "start": {
                                                "line": 186,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 190,
                                                "column": 18
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 7836,
                                              "end": 7851,
                                              "loc": {
                                                "start": {
                                                  "line": 186,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 186,
                                                  "column": 35
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 7836,
                                                "end": 7844,
                                                "loc": {
                                                  "start": {
                                                    "line": 186,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 186,
                                                    "column": 28
                                                  }
                                                },
                                                "name": "Elements"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 7845,
                                                "end": 7851,
                                                "loc": {
                                                  "start": {
                                                    "line": 186,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 186,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "Button"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ObjectExpression",
                                                "start": 7852,
                                                "end": 8015,
                                                "loc": {
                                                  "start": {
                                                    "line": 186,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 190,
                                                    "column": 17
                                                  }
                                                },
                                                "properties": [
                                                  {
                                                    "type": "Property",
                                                    "start": 7874,
                                                    "end": 7890,
                                                    "loc": {
                                                      "start": {
                                                        "line": 187,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 187,
                                                        "column": 36
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 7874,
                                                      "end": 7881,
                                                      "loc": {
                                                        "start": {
                                                          "line": 187,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 187,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "tooltip"
                                                    },
                                                    "value": {
                                                      "type": "Literal",
                                                      "start": 7883,
                                                      "end": 7890,
                                                      "loc": {
                                                        "start": {
                                                          "line": 187,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 187,
                                                          "column": 36
                                                        }
                                                      },
                                                      "value": "solve",
                                                      "rawValue": "solve",
                                                      "raw": "'solve'"
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 7912,
                                                    "end": 7936,
                                                    "loc": {
                                                      "start": {
                                                        "line": 188,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 188,
                                                        "column": 44
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 7912,
                                                      "end": 7916,
                                                      "loc": {
                                                        "start": {
                                                          "line": 188,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 188,
                                                          "column": 24
                                                        }
                                                      },
                                                      "name": "icon"
                                                    },
                                                    "value": {
                                                      "type": "MemberExpression",
                                                      "start": 7918,
                                                      "end": 7936,
                                                      "loc": {
                                                        "start": {
                                                          "line": 188,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 188,
                                                          "column": 44
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "CallExpression",
                                                        "start": 7918,
                                                        "end": 7930,
                                                        "loc": {
                                                          "start": {
                                                            "line": 188,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 188,
                                                            "column": 38
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 7918,
                                                          "end": 7928,
                                                          "loc": {
                                                            "start": {
                                                              "line": 188,
                                                              "column": 26
                                                            },
                                                            "end": {
                                                              "line": 188,
                                                              "column": 36
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 7918,
                                                            "end": 7923,
                                                            "loc": {
                                                              "start": {
                                                                "line": 188,
                                                                "column": 26
                                                              },
                                                              "end": {
                                                                "line": 188,
                                                                "column": 31
                                                              }
                                                            },
                                                            "name": "icons"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 7924,
                                                            "end": 7928,
                                                            "loc": {
                                                              "start": {
                                                                "line": 188,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 188,
                                                                "column": 36
                                                              }
                                                            },
                                                            "name": "next"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": []
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 7931,
                                                        "end": 7936,
                                                        "loc": {
                                                          "start": {
                                                            "line": 188,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 188,
                                                            "column": 44
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 7958,
                                                    "end": 7996,
                                                    "loc": {
                                                      "start": {
                                                        "line": 189,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 189,
                                                        "column": 58
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 7958,
                                                      "end": 7965,
                                                      "loc": {
                                                        "start": {
                                                          "line": 189,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 189,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "onClick"
                                                    },
                                                    "value": {
                                                      "type": "ArrowFunctionExpression",
                                                      "start": 7967,
                                                      "end": 7996,
                                                      "loc": {
                                                        "start": {
                                                          "line": 189,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 189,
                                                          "column": 58
                                                        }
                                                      },
                                                      "id": null,
                                                      "generator": false,
                                                      "expression": true,
                                                      "async": false,
                                                      "params": [],
                                                      "body": {
                                                        "type": "CallExpression",
                                                        "start": 7973,
                                                        "end": 7996,
                                                        "loc": {
                                                          "start": {
                                                            "line": 189,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 189,
                                                            "column": 58
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 7973,
                                                          "end": 7994,
                                                          "loc": {
                                                            "start": {
                                                              "line": 189,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 189,
                                                              "column": 56
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "ThisExpression",
                                                            "start": 7973,
                                                            "end": 7977,
                                                            "loc": {
                                                              "start": {
                                                                "line": 189,
                                                                "column": 35
                                                              },
                                                              "end": {
                                                                "line": 189,
                                                                "column": 39
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 7978,
                                                            "end": 7994,
                                                            "loc": {
                                                              "start": {
                                                                "line": 189,
                                                                "column": 40
                                                              },
                                                              "end": {
                                                                "line": 189,
                                                                "column": 56
                                                              }
                                                            },
                                                            "name": "solveConstraints"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": []
                                                      }
                                                    },
                                                    "kind": "init"
                                                  }
                                                ]
                                              }
                                            ]
                                          },
                                          {
                                            "type": "NewExpression",
                                            "start": 8034,
                                            "end": 8233,
                                            "loc": {
                                              "start": {
                                                "line": 191,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 195,
                                                "column": 18
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8038,
                                              "end": 8053,
                                              "loc": {
                                                "start": {
                                                  "line": 191,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 191,
                                                  "column": 35
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8038,
                                                "end": 8046,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 28
                                                  }
                                                },
                                                "name": "Elements"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8047,
                                                "end": 8053,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "Button"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ObjectExpression",
                                                "start": 8054,
                                                "end": 8232,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 195,
                                                    "column": 17
                                                  }
                                                },
                                                "properties": [
                                                  {
                                                    "type": "Property",
                                                    "start": 8076,
                                                    "end": 8106,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 50
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8076,
                                                      "end": 8083,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "tooltip"
                                                    },
                                                    "value": {
                                                      "type": "Literal",
                                                      "start": 8085,
                                                      "end": 8106,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 50
                                                        }
                                                      },
                                                      "value": "add autoconstraints",
                                                      "rawValue": "add autoconstraints",
                                                      "raw": "'add autoconstraints'"
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 8128,
                                                    "end": 8152,
                                                    "loc": {
                                                      "start": {
                                                        "line": 193,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 193,
                                                        "column": 44
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8128,
                                                      "end": 8132,
                                                      "loc": {
                                                        "start": {
                                                          "line": 193,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 193,
                                                          "column": 24
                                                        }
                                                      },
                                                      "name": "icon"
                                                    },
                                                    "value": {
                                                      "type": "MemberExpression",
                                                      "start": 8134,
                                                      "end": 8152,
                                                      "loc": {
                                                        "start": {
                                                          "line": 193,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 193,
                                                          "column": 44
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "CallExpression",
                                                        "start": 8134,
                                                        "end": 8146,
                                                        "loc": {
                                                          "start": {
                                                            "line": 193,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 193,
                                                            "column": 38
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 8134,
                                                          "end": 8144,
                                                          "loc": {
                                                            "start": {
                                                              "line": 193,
                                                              "column": 26
                                                            },
                                                            "end": {
                                                              "line": 193,
                                                              "column": 36
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 8134,
                                                            "end": 8139,
                                                            "loc": {
                                                              "start": {
                                                                "line": 193,
                                                                "column": 26
                                                              },
                                                              "end": {
                                                                "line": 193,
                                                                "column": 31
                                                              }
                                                            },
                                                            "name": "icons"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 8140,
                                                            "end": 8144,
                                                            "loc": {
                                                              "start": {
                                                                "line": 193,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 193,
                                                                "column": 36
                                                              }
                                                            },
                                                            "name": "next"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": []
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8147,
                                                        "end": 8152,
                                                        "loc": {
                                                          "start": {
                                                            "line": 193,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 193,
                                                            "column": 44
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 8174,
                                                    "end": 8213,
                                                    "loc": {
                                                      "start": {
                                                        "line": 194,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 194,
                                                        "column": 59
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8174,
                                                      "end": 8181,
                                                      "loc": {
                                                        "start": {
                                                          "line": 194,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 194,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "onClick"
                                                    },
                                                    "value": {
                                                      "type": "ArrowFunctionExpression",
                                                      "start": 8183,
                                                      "end": 8213,
                                                      "loc": {
                                                        "start": {
                                                          "line": 194,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 194,
                                                          "column": 59
                                                        }
                                                      },
                                                      "id": null,
                                                      "generator": false,
                                                      "expression": true,
                                                      "async": false,
                                                      "params": [],
                                                      "body": {
                                                        "type": "CallExpression",
                                                        "start": 8189,
                                                        "end": 8213,
                                                        "loc": {
                                                          "start": {
                                                            "line": 194,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 194,
                                                            "column": 59
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 8189,
                                                          "end": 8211,
                                                          "loc": {
                                                            "start": {
                                                              "line": 194,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 194,
                                                              "column": 57
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "ThisExpression",
                                                            "start": 8189,
                                                            "end": 8193,
                                                            "loc": {
                                                              "start": {
                                                                "line": 194,
                                                                "column": 35
                                                              },
                                                              "end": {
                                                                "line": 194,
                                                                "column": 39
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 8194,
                                                            "end": 8211,
                                                            "loc": {
                                                              "start": {
                                                                "line": 194,
                                                                "column": 40
                                                              },
                                                              "end": {
                                                                "line": 194,
                                                                "column": 57
                                                              }
                                                            },
                                                            "name": "autoconstraintAll"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": []
                                                      }
                                                    },
                                                    "kind": "init"
                                                  }
                                                ]
                                              }
                                            ]
                                          },
                                          {
                                            "type": "NewExpression",
                                            "start": 8251,
                                            "end": 8456,
                                            "loc": {
                                              "start": {
                                                "line": 196,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 200,
                                                "column": 18
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8255,
                                              "end": 8270,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 35
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8255,
                                                "end": 8263,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 196,
                                                    "column": 28
                                                  }
                                                },
                                                "name": "Elements"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8264,
                                                "end": 8270,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 196,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "Button"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ObjectExpression",
                                                "start": 8271,
                                                "end": 8455,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 200,
                                                    "column": 17
                                                  }
                                                },
                                                "properties": [
                                                  {
                                                    "type": "Property",
                                                    "start": 8293,
                                                    "end": 8310,
                                                    "loc": {
                                                      "start": {
                                                        "line": 197,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 197,
                                                        "column": 37
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8293,
                                                      "end": 8300,
                                                      "loc": {
                                                        "start": {
                                                          "line": 197,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 197,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "tooltip"
                                                    },
                                                    "value": {
                                                      "type": "Literal",
                                                      "start": 8302,
                                                      "end": 8310,
                                                      "loc": {
                                                        "start": {
                                                          "line": 197,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 197,
                                                          "column": 37
                                                        }
                                                      },
                                                      "value": "delete",
                                                      "rawValue": "delete",
                                                      "raw": "'delete'"
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 8332,
                                                    "end": 8356,
                                                    "loc": {
                                                      "start": {
                                                        "line": 198,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 198,
                                                        "column": 44
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8332,
                                                      "end": 8336,
                                                      "loc": {
                                                        "start": {
                                                          "line": 198,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 198,
                                                          "column": 24
                                                        }
                                                      },
                                                      "name": "icon"
                                                    },
                                                    "value": {
                                                      "type": "MemberExpression",
                                                      "start": 8338,
                                                      "end": 8356,
                                                      "loc": {
                                                        "start": {
                                                          "line": 198,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 198,
                                                          "column": 44
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "CallExpression",
                                                        "start": 8338,
                                                        "end": 8350,
                                                        "loc": {
                                                          "start": {
                                                            "line": 198,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 198,
                                                            "column": 38
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 8338,
                                                          "end": 8348,
                                                          "loc": {
                                                            "start": {
                                                              "line": 198,
                                                              "column": 26
                                                            },
                                                            "end": {
                                                              "line": 198,
                                                              "column": 36
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 8338,
                                                            "end": 8343,
                                                            "loc": {
                                                              "start": {
                                                                "line": 198,
                                                                "column": 26
                                                              },
                                                              "end": {
                                                                "line": 198,
                                                                "column": 31
                                                              }
                                                            },
                                                            "name": "icons"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 8344,
                                                            "end": 8348,
                                                            "loc": {
                                                              "start": {
                                                                "line": 198,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 198,
                                                                "column": 36
                                                              }
                                                            },
                                                            "name": "next"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": []
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8351,
                                                        "end": 8356,
                                                        "loc": {
                                                          "start": {
                                                            "line": 198,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 198,
                                                            "column": 44
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 8378,
                                                    "end": 8395,
                                                    "loc": {
                                                      "start": {
                                                        "line": 199,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 199,
                                                        "column": 37
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8378,
                                                      "end": 8385,
                                                      "loc": {
                                                        "start": {
                                                          "line": 199,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 199,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "onClick"
                                                    },
                                                    "value": {
                                                      "type": "ArrowFunctionExpression",
                                                      "start": 8387,
                                                      "end": 8395,
                                                      "loc": {
                                                        "start": {
                                                          "line": 199,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 199,
                                                          "column": 37
                                                        }
                                                      },
                                                      "id": null,
                                                      "generator": false,
                                                      "expression": false,
                                                      "async": false,
                                                      "params": [],
                                                      "body": {
                                                        "type": "BlockStatement",
                                                        "start": 8393,
                                                        "end": 8395,
                                                        "loc": {
                                                          "start": {
                                                            "line": 199,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 199,
                                                            "column": 37
                                                          }
                                                        },
                                                        "body": []
                                                      }
                                                    },
                                                    "kind": "init"
                                                  }
                                                ]
                                              }
                                            ]
                                          },
                                          {
                                            "type": "NewExpression",
                                            "start": 8474,
                                            "end": 8660,
                                            "loc": {
                                              "start": {
                                                "line": 201,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 205,
                                                "column": 18
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8478,
                                              "end": 8493,
                                              "loc": {
                                                "start": {
                                                  "line": 201,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 201,
                                                  "column": 35
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8478,
                                                "end": 8486,
                                                "loc": {
                                                  "start": {
                                                    "line": 201,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 201,
                                                    "column": 28
                                                  }
                                                },
                                                "name": "Elements"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8487,
                                                "end": 8493,
                                                "loc": {
                                                  "start": {
                                                    "line": 201,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 201,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "Button"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ObjectExpression",
                                                "start": 8494,
                                                "end": 8659,
                                                "loc": {
                                                  "start": {
                                                    "line": 201,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 205,
                                                    "column": 17
                                                  }
                                                },
                                                "properties": [
                                                  {
                                                    "type": "Property",
                                                    "start": 8516,
                                                    "end": 8540,
                                                    "loc": {
                                                      "start": {
                                                        "line": 202,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 202,
                                                        "column": 44
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8516,
                                                      "end": 8523,
                                                      "loc": {
                                                        "start": {
                                                          "line": 202,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 202,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "tooltip"
                                                    },
                                                    "value": {
                                                      "type": "Literal",
                                                      "start": 8525,
                                                      "end": 8540,
                                                      "loc": {
                                                        "start": {
                                                          "line": 202,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 202,
                                                          "column": 44
                                                        }
                                                      },
                                                      "value": "run all tests",
                                                      "rawValue": "run all tests",
                                                      "raw": "'run all tests'"
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 8562,
                                                    "end": 8586,
                                                    "loc": {
                                                      "start": {
                                                        "line": 203,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 203,
                                                        "column": 44
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8562,
                                                      "end": 8566,
                                                      "loc": {
                                                        "start": {
                                                          "line": 203,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 203,
                                                          "column": 24
                                                        }
                                                      },
                                                      "name": "icon"
                                                    },
                                                    "value": {
                                                      "type": "MemberExpression",
                                                      "start": 8568,
                                                      "end": 8586,
                                                      "loc": {
                                                        "start": {
                                                          "line": 203,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 203,
                                                          "column": 44
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "CallExpression",
                                                        "start": 8568,
                                                        "end": 8580,
                                                        "loc": {
                                                          "start": {
                                                            "line": 203,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 203,
                                                            "column": 38
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 8568,
                                                          "end": 8578,
                                                          "loc": {
                                                            "start": {
                                                              "line": 203,
                                                              "column": 26
                                                            },
                                                            "end": {
                                                              "line": 203,
                                                              "column": 36
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 8568,
                                                            "end": 8573,
                                                            "loc": {
                                                              "start": {
                                                                "line": 203,
                                                                "column": 26
                                                              },
                                                              "end": {
                                                                "line": 203,
                                                                "column": 31
                                                              }
                                                            },
                                                            "name": "icons"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 8574,
                                                            "end": 8578,
                                                            "loc": {
                                                              "start": {
                                                                "line": 203,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 203,
                                                                "column": 36
                                                              }
                                                            },
                                                            "name": "next"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": []
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8581,
                                                        "end": 8586,
                                                        "loc": {
                                                          "start": {
                                                            "line": 203,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 203,
                                                            "column": 44
                                                          }
                                                        },
                                                        "name": "value"
                                                      },
                                                      "computed": false
                                                    },
                                                    "kind": "init"
                                                  },
                                                  {
                                                    "type": "Property",
                                                    "start": 8608,
                                                    "end": 8640,
                                                    "loc": {
                                                      "start": {
                                                        "line": 204,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 204,
                                                        "column": 52
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 8608,
                                                      "end": 8615,
                                                      "loc": {
                                                        "start": {
                                                          "line": 204,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 204,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "onClick"
                                                    },
                                                    "value": {
                                                      "type": "ArrowFunctionExpression",
                                                      "start": 8617,
                                                      "end": 8640,
                                                      "loc": {
                                                        "start": {
                                                          "line": 204,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 204,
                                                          "column": 52
                                                        }
                                                      },
                                                      "id": null,
                                                      "generator": false,
                                                      "expression": true,
                                                      "async": false,
                                                      "params": [],
                                                      "body": {
                                                        "type": "CallExpression",
                                                        "start": 8623,
                                                        "end": 8640,
                                                        "loc": {
                                                          "start": {
                                                            "line": 204,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 204,
                                                            "column": 52
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "Identifier",
                                                          "start": 8623,
                                                          "end": 8634,
                                                          "loc": {
                                                            "start": {
                                                              "line": 204,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 204,
                                                              "column": 46
                                                            }
                                                          },
                                                          "name": "RunAllTests"
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "ThisExpression",
                                                            "start": 8635,
                                                            "end": 8639,
                                                            "loc": {
                                                              "start": {
                                                                "line": 204,
                                                                "column": 47
                                                              },
                                                              "end": {
                                                                "line": 204,
                                                                "column": 51
                                                              }
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    },
                                                    "kind": "init"
                                                  }
                                                ]
                                              }
                                            ],
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " TODO deleteSketch, chooseTool(delete)",
                                                "start": 8397,
                                                "end": 8437,
                                                "loc": {
                                                  "start": {
                                                    "line": 199,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 199,
                                                    "column": 79
                                                  }
                                                },
                                                "range": [
                                                  8397,
                                                  8437
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8698,
                      "end": 9025,
                      "loc": {
                        "start": {
                          "line": 208,
                          "column": 8
                        },
                        "end": {
                          "line": 215,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8698,
                        "end": 9024,
                        "loc": {
                          "start": {
                            "line": 208,
                            "column": 8
                          },
                          "end": {
                            "line": 215,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8698,
                          "end": 8715,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 8
                            },
                            "end": {
                              "line": 208,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8698,
                            "end": 8707,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 8
                              },
                              "end": {
                                "line": 208,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8698,
                              "end": 8702,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 8
                                },
                                "end": {
                                  "line": 208,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8703,
                              "end": 8707,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 13
                                },
                                "end": {
                                  "line": 208,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8708,
                            "end": 8715,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 18
                              },
                              "end": {
                                "line": 208,
                                "column": 25
                              }
                            },
                            "name": "console"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 8718,
                          "end": 9024,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 28
                            },
                            "end": {
                              "line": 215,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8722,
                            "end": 8738,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 32
                              },
                              "end": {
                                "line": 208,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8722,
                              "end": 8730,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 32
                                },
                                "end": {
                                  "line": 208,
                                  "column": 40
                                }
                              },
                              "name": "Elements"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8731,
                              "end": 8738,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 41
                                },
                                "end": {
                                  "line": 208,
                                  "column": 48
                                }
                              },
                              "name": "Console"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 8739,
                              "end": 9023,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 49
                                },
                                "end": {
                                  "line": 215,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 8753,
                                  "end": 8786,
                                  "loc": {
                                    "start": {
                                      "line": 209,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 209,
                                      "column": 45
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 8753,
                                    "end": 8761,
                                    "loc": {
                                      "start": {
                                        "line": 209,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 209,
                                        "column": 20
                                      }
                                    },
                                    "name": "onChange"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 8763,
                                    "end": 8786,
                                    "loc": {
                                      "start": {
                                        "line": 209,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 209,
                                        "column": 45
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "ObjectPattern",
                                        "start": 8764,
                                        "end": 8780,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 39
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "Property",
                                            "start": 8765,
                                            "end": 8772,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 31
                                              }
                                            },
                                            "method": false,
                                            "shorthand": true,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 8765,
                                              "end": 8772,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 31
                                                }
                                              },
                                              "name": "element"
                                            },
                                            "kind": "init",
                                            "value": {
                                              "type": "Identifier",
                                              "start": 8765,
                                              "end": 8772,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 31
                                                }
                                              },
                                              "name": "element"
                                            }
                                          },
                                          {
                                            "type": "Property",
                                            "start": 8774,
                                            "end": 8779,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 38
                                              }
                                            },
                                            "method": false,
                                            "shorthand": true,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 8774,
                                              "end": 8779,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 38
                                                }
                                              },
                                              "name": "value"
                                            },
                                            "kind": "init",
                                            "value": {
                                              "type": "Identifier",
                                              "start": 8774,
                                              "end": 8779,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 38
                                                }
                                              },
                                              "name": "value"
                                            }
                                          }
                                        ]
                                      }
                                    ],
                                    "body": {
                                      "type": "Literal",
                                      "start": 8785,
                                      "end": 8786,
                                      "loc": {
                                        "start": {
                                          "line": 209,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 209,
                                          "column": 45
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 8808,
                                  "end": 9012,
                                  "loc": {
                                    "start": {
                                      "line": 210,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 8808,
                                    "end": 8815,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 19
                                      }
                                    },
                                    "name": "onEnter",
                                    "leadingComments": null
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 8817,
                                    "end": 9012,
                                    "loc": {
                                      "start": {
                                        "line": 210,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 214,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "ObjectPattern",
                                        "start": 8818,
                                        "end": 8834,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 38
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "Property",
                                            "start": 8819,
                                            "end": 8826,
                                            "loc": {
                                              "start": {
                                                "line": 210,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 210,
                                                "column": 30
                                              }
                                            },
                                            "method": false,
                                            "shorthand": true,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 8819,
                                              "end": 8826,
                                              "loc": {
                                                "start": {
                                                  "line": 210,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 210,
                                                  "column": 30
                                                }
                                              },
                                              "name": "element"
                                            },
                                            "kind": "init",
                                            "value": {
                                              "type": "Identifier",
                                              "start": 8819,
                                              "end": 8826,
                                              "loc": {
                                                "start": {
                                                  "line": 210,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 210,
                                                  "column": 30
                                                }
                                              },
                                              "name": "element"
                                            }
                                          },
                                          {
                                            "type": "Property",
                                            "start": 8828,
                                            "end": 8833,
                                            "loc": {
                                              "start": {
                                                "line": 210,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 210,
                                                "column": 37
                                              }
                                            },
                                            "method": false,
                                            "shorthand": true,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 8828,
                                              "end": 8833,
                                              "loc": {
                                                "start": {
                                                  "line": 210,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 210,
                                                  "column": 37
                                                }
                                              },
                                              "name": "value"
                                            },
                                            "kind": "init",
                                            "value": {
                                              "type": "Identifier",
                                              "start": 8828,
                                              "end": 8833,
                                              "loc": {
                                                "start": {
                                                  "line": 210,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 210,
                                                  "column": 37
                                                }
                                              },
                                              "name": "value"
                                            }
                                          }
                                        ]
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 8839,
                                      "end": 9012,
                                      "loc": {
                                        "start": {
                                          "line": 210,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "start": 8857,
                                          "end": 8962,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 212,
                                              "column": 71
                                            }
                                          },
                                          "test": {
                                            "type": "MemberExpression",
                                            "start": 8861,
                                            "end": 8889,
                                            "loc": {
                                              "start": {
                                                "line": 211,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 211,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 8861,
                                              "end": 8865,
                                              "loc": {
                                                "start": {
                                                  "line": 211,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 211,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8866,
                                              "end": 8889,
                                              "loc": {
                                                "start": {
                                                  "line": 211,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 211,
                                                  "column": 48
                                                }
                                              },
                                              "name": "__sketchControlsHandler"
                                            },
                                            "computed": false
                                          },
                                          "consequent": {
                                            "type": "ExpressionStatement",
                                            "start": 8911,
                                            "end": 8962,
                                            "loc": {
                                              "start": {
                                                "line": 212,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 212,
                                                "column": 71
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 8911,
                                              "end": 8961,
                                              "loc": {
                                                "start": {
                                                  "line": 212,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 212,
                                                  "column": 70
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 8911,
                                                "end": 8954,
                                                "loc": {
                                                  "start": {
                                                    "line": 212,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 212,
                                                    "column": 63
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 8911,
                                                  "end": 8939,
                                                  "loc": {
                                                    "start": {
                                                      "line": 212,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 212,
                                                      "column": 48
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 8911,
                                                    "end": 8915,
                                                    "loc": {
                                                      "start": {
                                                        "line": 212,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 212,
                                                        "column": 24
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8916,
                                                    "end": 8939,
                                                    "loc": {
                                                      "start": {
                                                        "line": 212,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 212,
                                                        "column": 48
                                                      }
                                                    },
                                                    "name": "__sketchControlsHandler"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 8940,
                                                  "end": 8954,
                                                  "loc": {
                                                    "start": {
                                                      "line": 212,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 212,
                                                      "column": 63
                                                    }
                                                  },
                                                  "name": "consoleExecute"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 8955,
                                                  "end": 8960,
                                                  "loc": {
                                                    "start": {
                                                      "line": 212,
                                                      "column": 64
                                                    },
                                                    "end": {
                                                      "line": 212,
                                                      "column": 69
                                                    }
                                                  },
                                                  "name": "value"
                                                }
                                              ]
                                            }
                                          },
                                          "alternate": null
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 8979,
                                          "end": 8998,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 35
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 8979,
                                            "end": 8997,
                                            "loc": {
                                              "start": {
                                                "line": 213,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 213,
                                                "column": 34
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 8979,
                                              "end": 8992,
                                              "loc": {
                                                "start": {
                                                  "line": 213,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 213,
                                                  "column": 29
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8979,
                                                "end": 8986,
                                                "loc": {
                                                  "start": {
                                                    "line": 213,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 213,
                                                    "column": 23
                                                  }
                                                },
                                                "name": "element"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8987,
                                                "end": 8992,
                                                "loc": {
                                                  "start": {
                                                    "line": 213,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 213,
                                                    "column": 29
                                                  }
                                                },
                                                "name": "value"
                                              },
                                              "computed": false
                                            },
                                            "right": {
                                              "type": "Literal",
                                              "start": 8995,
                                              "end": 8997,
                                              "loc": {
                                                "start": {
                                                  "line": 213,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 213,
                                                  "column": 34
                                                }
                                              },
                                              "value": "",
                                              "rawValue": "",
                                              "raw": "\"\""
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init",
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " TODO",
                                      "start": 8788,
                                      "end": 8795,
                                      "loc": {
                                        "start": {
                                          "line": 209,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 209,
                                          "column": 54
                                        }
                                      },
                                      "range": [
                                        8788,
                                        8795
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9037,
              "end": 9228,
              "loc": {
                "start": {
                  "line": 218,
                  "column": 4
                },
                "end": {
                  "line": 223,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9037,
                "end": 9064,
                "loc": {
                  "start": {
                    "line": 218,
                    "column": 4
                  },
                  "end": {
                    "line": 218,
                    "column": 31
                  }
                },
                "name": "removeSketchControlElements"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9064,
                "end": 9228,
                "loc": {
                  "start": {
                    "line": 218,
                    "column": 31
                  },
                  "end": {
                    "line": 223,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9067,
                  "end": 9228,
                  "loc": {
                    "start": {
                      "line": 218,
                      "column": 34
                    },
                    "end": {
                      "line": 223,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9077,
                      "end": 9113,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 8
                        },
                        "end": {
                          "line": 219,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9077,
                        "end": 9112,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 8
                          },
                          "end": {
                            "line": 219,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9077,
                          "end": 9092,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 8
                            },
                            "end": {
                              "line": 219,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9077,
                            "end": 9086,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 8
                              },
                              "end": {
                                "line": 219,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9077,
                              "end": 9081,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 8
                                },
                                "end": {
                                  "line": 219,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9082,
                              "end": 9086,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 13
                                },
                                "end": {
                                  "line": 219,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9087,
                            "end": 9092,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 18
                              },
                              "end": {
                                "line": 219,
                                "column": 23
                              }
                            },
                            "name": "title"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 9095,
                          "end": 9112,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 26
                            },
                            "end": {
                              "line": 219,
                              "column": 43
                            }
                          },
                          "value": "Select a sketch",
                          "rawValue": "Select a sketch",
                          "raw": "'Select a sketch'"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9122,
                      "end": 9151,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 8
                        },
                        "end": {
                          "line": 220,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9122,
                        "end": 9150,
                        "loc": {
                          "start": {
                            "line": 220,
                            "column": 8
                          },
                          "end": {
                            "line": 220,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9122,
                          "end": 9147,
                          "loc": {
                            "start": {
                              "line": 220,
                              "column": 8
                            },
                            "end": {
                              "line": 220,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9122,
                            "end": 9140,
                            "loc": {
                              "start": {
                                "line": 220,
                                "column": 8
                              },
                              "end": {
                                "line": 220,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9122,
                              "end": 9131,
                              "loc": {
                                "start": {
                                  "line": 220,
                                  "column": 8
                                },
                                "end": {
                                  "line": 220,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9122,
                                "end": 9126,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9127,
                                "end": 9131,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 17
                                  }
                                },
                                "name": "data"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9132,
                              "end": 9140,
                              "loc": {
                                "start": {
                                  "line": 220,
                                  "column": 18
                                },
                                "end": {
                                  "line": 220,
                                  "column": 26
                                }
                              },
                              "name": "elements"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9141,
                            "end": 9147,
                            "loc": {
                              "start": {
                                "line": 220,
                                "column": 27
                              },
                              "end": {
                                "line": 220,
                                "column": 33
                              }
                            },
                            "name": "splice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 9148,
                            "end": 9149,
                            "loc": {
                              "start": {
                                "line": 220,
                                "column": 34
                              },
                              "end": {
                                "line": 220,
                                "column": 35
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9160,
                      "end": 9183,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 8
                        },
                        "end": {
                          "line": 221,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9160,
                        "end": 9182,
                        "loc": {
                          "start": {
                            "line": 221,
                            "column": 8
                          },
                          "end": {
                            "line": 221,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9160,
                          "end": 9177,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 8
                            },
                            "end": {
                              "line": 221,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9160,
                            "end": 9169,
                            "loc": {
                              "start": {
                                "line": 221,
                                "column": 8
                              },
                              "end": {
                                "line": 221,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9160,
                              "end": 9164,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 8
                                },
                                "end": {
                                  "line": 221,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9165,
                              "end": 9169,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 13
                                },
                                "end": {
                                  "line": 221,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9170,
                            "end": 9177,
                            "loc": {
                              "start": {
                                "line": 221,
                                "column": 18
                              },
                              "end": {
                                "line": 221,
                                "column": 25
                              }
                            },
                            "name": "toolbar"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 9180,
                          "end": 9182,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 28
                            },
                            "end": {
                              "line": 221,
                              "column": 30
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9192,
                      "end": 9222,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 8
                        },
                        "end": {
                          "line": 222,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9192,
                        "end": 9221,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 8
                          },
                          "end": {
                            "line": 222,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9192,
                          "end": 9209,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 8
                            },
                            "end": {
                              "line": 222,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9192,
                            "end": 9201,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 8
                              },
                              "end": {
                                "line": 222,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9192,
                              "end": 9196,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 8
                                },
                                "end": {
                                  "line": 222,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9197,
                              "end": 9201,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 13
                                },
                                "end": {
                                  "line": 222,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9202,
                            "end": 9209,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 18
                              },
                              "end": {
                                "line": 222,
                                "column": 25
                              }
                            },
                            "name": "console"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 9212,
                          "end": 9221,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 28
                            },
                            "end": {
                              "line": 222,
                              "column": 37
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9234,
              "end": 9283,
              "loc": {
                "start": {
                  "line": 225,
                  "column": 4
                },
                "end": {
                  "line": 227,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9234,
                "end": 9241,
                "loc": {
                  "start": {
                    "line": 225,
                    "column": 4
                  },
                  "end": {
                    "line": 225,
                    "column": 11
                  }
                },
                "name": "refresh"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9241,
                "end": 9283,
                "loc": {
                  "start": {
                    "line": 225,
                    "column": 11
                  },
                  "end": {
                    "line": 227,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9244,
                  "end": 9283,
                  "loc": {
                    "start": {
                      "line": 225,
                      "column": 14
                    },
                    "end": {
                      "line": 227,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9254,
                      "end": 9277,
                      "loc": {
                        "start": {
                          "line": 226,
                          "column": 8
                        },
                        "end": {
                          "line": 226,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9254,
                        "end": 9276,
                        "loc": {
                          "start": {
                            "line": 226,
                            "column": 8
                          },
                          "end": {
                            "line": 226,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9254,
                          "end": 9274,
                          "loc": {
                            "start": {
                              "line": 226,
                              "column": 8
                            },
                            "end": {
                              "line": 226,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9254,
                            "end": 9263,
                            "loc": {
                              "start": {
                                "line": 226,
                                "column": 8
                              },
                              "end": {
                                "line": 226,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9254,
                              "end": 9258,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 8
                                },
                                "end": {
                                  "line": 226,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9259,
                              "end": 9263,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 13
                                },
                                "end": {
                                  "line": 226,
                                  "column": 17
                                }
                              },
                              "name": "view"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9264,
                            "end": 9274,
                            "loc": {
                              "start": {
                                "line": 226,
                                "column": 18
                              },
                              "end": {
                                "line": 226,
                                "column": 28
                              }
                            },
                            "name": "invalidate"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "always called when someone clicks on a sketch's area",
                  "start": 9289,
                  "end": 9343,
                  "loc": {
                    "start": {
                      "line": 229,
                      "column": 4
                    },
                    "end": {
                      "line": 229,
                      "column": 58
                    }
                  },
                  "range": [
                    9289,
                    9343
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9348,
              "end": 9699,
              "loc": {
                "start": {
                  "line": 230,
                  "column": 4
                },
                "end": {
                  "line": 240,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9354,
                "end": 9371,
                "loc": {
                  "start": {
                    "line": 230,
                    "column": 10
                  },
                  "end": {
                    "line": 230,
                    "column": 27
                  }
                },
                "name": "sketchAreaClicked"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9371,
                "end": 9699,
                "loc": {
                  "start": {
                    "line": 230,
                    "column": 27
                  },
                  "end": {
                    "line": 240,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9372,
                    "end": 9378,
                    "loc": {
                      "start": {
                        "line": 230,
                        "column": 28
                      },
                      "end": {
                        "line": 230,
                        "column": 34
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9380,
                  "end": 9699,
                  "loc": {
                    "start": {
                      "line": 230,
                      "column": 36
                    },
                    "end": {
                      "line": 240,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9437,
                      "end": 9608,
                      "loc": {
                        "start": {
                          "line": 232,
                          "column": 8
                        },
                        "end": {
                          "line": 236,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9441,
                        "end": 9470,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 12
                          },
                          "end": {
                            "line": 232,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 9441,
                          "end": 9459,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 12
                            },
                            "end": {
                              "line": 232,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9441,
                            "end": 9445,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 12
                              },
                              "end": {
                                "line": 232,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9446,
                            "end": 9459,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 17
                              },
                              "end": {
                                "line": 232,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 9464,
                          "end": 9470,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 35
                            },
                            "end": {
                              "line": 232,
                              "column": 41
                            }
                          },
                          "name": "sketch"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9472,
                        "end": 9608,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 43
                          },
                          "end": {
                            "line": 236,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 9546,
                            "end": 9578,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 12
                              },
                              "end": {
                                "line": 234,
                                "column": 44
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 9546,
                              "end": 9577,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 12
                                },
                                "end": {
                                  "line": 234,
                                  "column": 43
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 9552,
                                "end": 9577,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9552,
                                  "end": 9569,
                                  "loc": {
                                    "start": {
                                      "line": 234,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 234,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9552,
                                    "end": 9556,
                                    "loc": {
                                      "start": {
                                        "line": 234,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 234,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9557,
                                    "end": 9569,
                                    "loc": {
                                      "start": {
                                        "line": 234,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 234,
                                        "column": 35
                                      }
                                    },
                                    "name": "selectSketch"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 9570,
                                    "end": 9576,
                                    "loc": {
                                      "start": {
                                        "line": 234,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 234,
                                        "column": 42
                                      }
                                    },
                                    "name": "sketch"
                                  }
                                ]
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " none or other selected -> select clicked one",
                                "start": 9486,
                                "end": 9533,
                                "loc": {
                                  "start": {
                                    "line": 233,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 59
                                  }
                                },
                                "range": [
                                  9486,
                                  9533
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 9591,
                            "end": 9598,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 12
                              },
                              "end": {
                                "line": 235,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " handle sketch selection/unselection",
                          "start": 9390,
                          "end": 9428,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 8
                            },
                            "end": {
                              "line": 231,
                              "column": 46
                            }
                          },
                          "range": [
                            9390,
                            9428
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " call whatever controls handler is active now",
                          "start": 9618,
                          "end": 9665,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 55
                            }
                          },
                          "range": [
                            9618,
                            9665
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9674,
                      "end": 9693,
                      "loc": {
                        "start": {
                          "line": 239,
                          "column": 8
                        },
                        "end": {
                          "line": 239,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 9674,
                        "end": 9692,
                        "loc": {
                          "start": {
                            "line": 239,
                            "column": 8
                          },
                          "end": {
                            "line": 239,
                            "column": 26
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 9680,
                          "end": 9692,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 14
                            },
                            "end": {
                              "line": 239,
                              "column": 26
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9680,
                            "end": 9690,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 14
                              },
                              "end": {
                                "line": 239,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9680,
                              "end": 9684,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 14
                                },
                                "end": {
                                  "line": 239,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9685,
                              "end": 9690,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 19
                                },
                                "end": {
                                  "line": 239,
                                  "column": 24
                                }
                              },
                              "name": "click"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " call whatever controls handler is active now",
                          "start": 9618,
                          "end": 9665,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 55
                            }
                          },
                          "range": [
                            9618,
                            9665
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "always called when someone clicks on a sketch's area",
                  "start": 9289,
                  "end": 9343,
                  "loc": {
                    "start": {
                      "line": 229,
                      "column": 4
                    },
                    "end": {
                      "line": 229,
                      "column": 58
                    }
                  },
                  "range": [
                    9289,
                    9343
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9705,
              "end": 10400,
              "loc": {
                "start": {
                  "line": 242,
                  "column": 4
                },
                "end": {
                  "line": 255,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9711,
                "end": 9733,
                "loc": {
                  "start": {
                    "line": 242,
                    "column": 10
                  },
                  "end": {
                    "line": 242,
                    "column": 32
                  }
                },
                "name": "sketchAreaRightClicked"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9733,
                "end": 10400,
                "loc": {
                  "start": {
                    "line": 242,
                    "column": 32
                  },
                  "end": {
                    "line": 255,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9734,
                    "end": 9740,
                    "loc": {
                      "start": {
                        "line": 242,
                        "column": 33
                      },
                      "end": {
                        "line": 242,
                        "column": 39
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9742,
                  "end": 10400,
                  "loc": {
                    "start": {
                      "line": 242,
                      "column": 41
                    },
                    "end": {
                      "line": 255,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9803,
                      "end": 9857,
                      "loc": {
                        "start": {
                          "line": 244,
                          "column": 8
                        },
                        "end": {
                          "line": 245,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9807,
                        "end": 9836,
                        "loc": {
                          "start": {
                            "line": 244,
                            "column": 12
                          },
                          "end": {
                            "line": 244,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 9807,
                          "end": 9813,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 12
                            },
                            "end": {
                              "line": 244,
                              "column": 18
                            }
                          },
                          "name": "sketch",
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 9818,
                          "end": 9836,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 23
                            },
                            "end": {
                              "line": 244,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9818,
                            "end": 9822,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 23
                              },
                              "end": {
                                "line": 244,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9823,
                            "end": 9836,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 28
                              },
                              "end": {
                                "line": 244,
                                "column": 41
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 9850,
                        "end": 9857,
                        "loc": {
                          "start": {
                            "line": 245,
                            "column": 12
                          },
                          "end": {
                            "line": 245,
                            "column": 19
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ignore right click on unselected sketch",
                          "start": 9752,
                          "end": 9794,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 8
                            },
                            "end": {
                              "line": 243,
                              "column": 50
                            }
                          },
                          "range": [
                            9752,
                            9794
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " if any tool is selected, deselect it, otherwise deselect sketch",
                          "start": 9867,
                          "end": 9933,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 8
                            },
                            "end": {
                              "line": 247,
                              "column": 74
                            }
                          },
                          "range": [
                            9867,
                            9933
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " FIXME prototype checking is bad, but changing __sketchControlsHandler",
                          "start": 9942,
                          "end": 10014,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 8
                            },
                            "end": {
                              "line": 248,
                              "column": 80
                            }
                          },
                          "range": [
                            9942,
                            10014
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " or deselecting sketch from handler is no better. Think of a good solution.",
                          "start": 10023,
                          "end": 10100,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 8
                            },
                            "end": {
                              "line": 249,
                              "column": 85
                            }
                          },
                          "range": [
                            10023,
                            10100
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10109,
                      "end": 10183,
                      "loc": {
                        "start": {
                          "line": 250,
                          "column": 8
                        },
                        "end": {
                          "line": 250,
                          "column": 82
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10113,
                          "end": 10182,
                          "loc": {
                            "start": {
                              "line": 250,
                              "column": 12
                            },
                            "end": {
                              "line": 250,
                              "column": 81
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10113,
                            "end": 10128,
                            "loc": {
                              "start": {
                                "line": 250,
                                "column": 12
                              },
                              "end": {
                                "line": 250,
                                "column": 27
                              }
                            },
                            "name": "prototypeBefore",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10131,
                            "end": 10182,
                            "loc": {
                              "start": {
                                "line": 250,
                                "column": 30
                              },
                              "end": {
                                "line": 250,
                                "column": 81
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10131,
                              "end": 10152,
                              "loc": {
                                "start": {
                                  "line": 250,
                                  "column": 30
                                },
                                "end": {
                                  "line": 250,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10131,
                                "end": 10137,
                                "loc": {
                                  "start": {
                                    "line": 250,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 250,
                                    "column": 36
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10138,
                                "end": 10152,
                                "loc": {
                                  "start": {
                                    "line": 250,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 250,
                                    "column": 51
                                  }
                                },
                                "name": "getPrototypeOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10153,
                                "end": 10181,
                                "loc": {
                                  "start": {
                                    "line": 250,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 250,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10153,
                                  "end": 10157,
                                  "loc": {
                                    "start": {
                                      "line": 250,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 250,
                                      "column": 56
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10158,
                                  "end": 10181,
                                  "loc": {
                                    "start": {
                                      "line": 250,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 250,
                                      "column": 80
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " if any tool is selected, deselect it, otherwise deselect sketch",
                          "start": 9867,
                          "end": 9933,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 8
                            },
                            "end": {
                              "line": 247,
                              "column": 74
                            }
                          },
                          "range": [
                            9867,
                            9933
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " FIXME prototype checking is bad, but changing __sketchControlsHandler",
                          "start": 9942,
                          "end": 10014,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 8
                            },
                            "end": {
                              "line": 248,
                              "column": 80
                            }
                          },
                          "range": [
                            9942,
                            10014
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " or deselecting sketch from handler is no better. Think of a good solution.",
                          "start": 10023,
                          "end": 10100,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 8
                            },
                            "end": {
                              "line": 249,
                              "column": 85
                            }
                          },
                          "range": [
                            10023,
                            10100
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10192,
                      "end": 10223,
                      "loc": {
                        "start": {
                          "line": 251,
                          "column": 8
                        },
                        "end": {
                          "line": 251,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 10192,
                        "end": 10222,
                        "loc": {
                          "start": {
                            "line": 251,
                            "column": 8
                          },
                          "end": {
                            "line": 251,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 10198,
                          "end": 10222,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 14
                            },
                            "end": {
                              "line": 251,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10198,
                            "end": 10213,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 14
                              },
                              "end": {
                                "line": 251,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10198,
                              "end": 10202,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 14
                                },
                                "end": {
                                  "line": 251,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10203,
                              "end": 10213,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 19
                                },
                                "end": {
                                  "line": 251,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 10214,
                              "end": 10221,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 30
                                },
                                "end": {
                                  "line": 251,
                                  "column": 37
                                }
                              },
                              "value": "empty",
                              "rawValue": "empty",
                              "raw": "'empty'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10232,
                      "end": 10305,
                      "loc": {
                        "start": {
                          "line": 252,
                          "column": 8
                        },
                        "end": {
                          "line": 252,
                          "column": 81
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10236,
                          "end": 10304,
                          "loc": {
                            "start": {
                              "line": 252,
                              "column": 12
                            },
                            "end": {
                              "line": 252,
                              "column": 80
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10236,
                            "end": 10250,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 12
                              },
                              "end": {
                                "line": 252,
                                "column": 26
                              }
                            },
                            "name": "prototypeAfter"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10253,
                            "end": 10304,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 29
                              },
                              "end": {
                                "line": 252,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10253,
                              "end": 10274,
                              "loc": {
                                "start": {
                                  "line": 252,
                                  "column": 29
                                },
                                "end": {
                                  "line": 252,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10253,
                                "end": 10259,
                                "loc": {
                                  "start": {
                                    "line": 252,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 252,
                                    "column": 35
                                  }
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10260,
                                "end": 10274,
                                "loc": {
                                  "start": {
                                    "line": 252,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 252,
                                    "column": 50
                                  }
                                },
                                "name": "getPrototypeOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 10275,
                                "end": 10303,
                                "loc": {
                                  "start": {
                                    "line": 252,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 252,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10275,
                                  "end": 10279,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10280,
                                  "end": 10303,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 79
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 10314,
                      "end": 10394,
                      "loc": {
                        "start": {
                          "line": 253,
                          "column": 8
                        },
                        "end": {
                          "line": 254,
                          "column": 40
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10318,
                        "end": 10352,
                        "loc": {
                          "start": {
                            "line": 253,
                            "column": 12
                          },
                          "end": {
                            "line": 253,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 10318,
                          "end": 10333,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 12
                            },
                            "end": {
                              "line": 253,
                              "column": 27
                            }
                          },
                          "name": "prototypeBefore"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 10338,
                          "end": 10352,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 32
                            },
                            "end": {
                              "line": 253,
                              "column": 46
                            }
                          },
                          "name": "prototypeAfter"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 10366,
                        "end": 10394,
                        "loc": {
                          "start": {
                            "line": 254,
                            "column": 12
                          },
                          "end": {
                            "line": 254,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 10366,
                          "end": 10393,
                          "loc": {
                            "start": {
                              "line": 254,
                              "column": 12
                            },
                            "end": {
                              "line": 254,
                              "column": 39
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 10372,
                            "end": 10393,
                            "loc": {
                              "start": {
                                "line": 254,
                                "column": 18
                              },
                              "end": {
                                "line": 254,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10372,
                              "end": 10391,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 18
                                },
                                "end": {
                                  "line": 254,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 10372,
                                "end": 10376,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10377,
                                "end": 10391,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 37
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10406,
              "end": 11896,
              "loc": {
                "start": {
                  "line": 257,
                  "column": 4
                },
                "end": {
                  "line": 299,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10406,
                "end": 10421,
                "loc": {
                  "start": {
                    "line": 257,
                    "column": 4
                  },
                  "end": {
                    "line": 257,
                    "column": 19
                  }
                },
                "name": "setActionCursor"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10421,
                "end": 11896,
                "loc": {
                  "start": {
                    "line": 257,
                    "column": 19
                  },
                  "end": {
                    "line": 299,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10422,
                    "end": 10428,
                    "loc": {
                      "start": {
                        "line": 257,
                        "column": 20
                      },
                      "end": {
                        "line": 257,
                        "column": 26
                      }
                    },
                    "name": "action"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10430,
                  "end": 11896,
                  "loc": {
                    "start": {
                      "line": 257,
                      "column": 28
                    },
                    "end": {
                      "line": 299,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 10440,
                      "end": 11536,
                      "loc": {
                        "start": {
                          "line": 258,
                          "column": 8
                        },
                        "end": {
                          "line": 287,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10444,
                          "end": 11535,
                          "loc": {
                            "start": {
                              "line": 258,
                              "column": 12
                            },
                            "end": {
                              "line": 287,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10444,
                            "end": 10454,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 12
                              },
                              "end": {
                                "line": 258,
                                "column": 22
                              }
                            },
                            "name": "cursorsURL"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 10457,
                            "end": 11535,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 25
                              },
                              "end": {
                                "line": 287,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 10461,
                              "end": 10464,
                              "loc": {
                                "start": {
                                  "line": 258,
                                  "column": 29
                                },
                                "end": {
                                  "line": 258,
                                  "column": 32
                                }
                              },
                              "name": "Map"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 10466,
                                "end": 11534,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 9
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10480,
                                    "end": 10500,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10481,
                                        "end": 10488,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 20
                                          }
                                        },
                                        "value": "empty",
                                        "rawValue": "empty",
                                        "raw": "'empty'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10490,
                                        "end": 10499,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 31
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10514,
                                    "end": 10535,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10515,
                                        "end": 10523,
                                        "loc": {
                                          "start": {
                                            "line": 260,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 260,
                                            "column": 21
                                          }
                                        },
                                        "value": "delete",
                                        "rawValue": "delete",
                                        "raw": "'delete'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10525,
                                        "end": 10534,
                                        "loc": {
                                          "start": {
                                            "line": 260,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 260,
                                            "column": 32
                                          }
                                        },
                                        "value": "no-drop",
                                        "rawValue": "no-drop",
                                        "raw": "'no-drop'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10573,
                                    "end": 10595,
                                    "loc": {
                                      "start": {
                                        "line": 262,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 262,
                                        "column": 34
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10574,
                                        "end": 10581,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 20
                                          }
                                        },
                                        "value": "point",
                                        "rawValue": "point",
                                        "raw": "'point'",
                                        "leadingComments": null
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10583,
                                        "end": 10594,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 33
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " geometry",
                                        "start": 10549,
                                        "end": 10560,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 23
                                          }
                                        },
                                        "range": [
                                          10549,
                                          10560
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10609,
                                    "end": 10630,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10610,
                                        "end": 10616,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 19
                                          }
                                        },
                                        "value": "line",
                                        "rawValue": "line",
                                        "raw": "'line'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10618,
                                        "end": 10629,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 32
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10644,
                                    "end": 10664,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10645,
                                        "end": 10650,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 18
                                          }
                                        },
                                        "value": "arc",
                                        "rawValue": "arc",
                                        "raw": "'arc'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10652,
                                        "end": 10663,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 31
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10678,
                                    "end": 10703,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 37
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10679,
                                        "end": 10689,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 23
                                          }
                                        },
                                        "value": "polyline",
                                        "rawValue": "polyline",
                                        "raw": "'polyline'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10691,
                                        "end": 10702,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 36
                                          }
                                        },
                                        "value": "crosshair",
                                        "rawValue": "crosshair",
                                        "raw": "'crosshair'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10744,
                                    "end": 10767,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10745,
                                        "end": 10755,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 23
                                          }
                                        },
                                        "value": "fixation",
                                        "rawValue": "fixation",
                                        "raw": "'fixation'",
                                        "leadingComments": null
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10757,
                                        "end": 10766,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " constraints",
                                        "start": 10717,
                                        "end": 10731,
                                        "loc": {
                                          "start": {
                                            "line": 266,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 266,
                                            "column": 26
                                          }
                                        },
                                        "range": [
                                          10717,
                                          10731
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10781,
                                    "end": 10805,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 36
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10782,
                                        "end": 10793,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 24
                                          }
                                        },
                                        "value": "incidence",
                                        "rawValue": "incidence",
                                        "raw": "'incidence'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10795,
                                        "end": 10804,
                                        "loc": {
                                          "start": {
                                            "line": 268,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 268,
                                            "column": 35
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10819,
                                    "end": 10842,
                                    "loc": {
                                      "start": {
                                        "line": 269,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 269,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10820,
                                        "end": 10830,
                                        "loc": {
                                          "start": {
                                            "line": 269,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 269,
                                            "column": 23
                                          }
                                        },
                                        "value": "distance",
                                        "rawValue": "distance",
                                        "raw": "'distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10832,
                                        "end": 10841,
                                        "loc": {
                                          "start": {
                                            "line": 269,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 269,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10856,
                                    "end": 10876,
                                    "loc": {
                                      "start": {
                                        "line": 270,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 270,
                                        "column": 32
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10857,
                                        "end": 10864,
                                        "loc": {
                                          "start": {
                                            "line": 270,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 270,
                                            "column": 20
                                          }
                                        },
                                        "value": "angle",
                                        "rawValue": "angle",
                                        "raw": "'angle'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10866,
                                        "end": 10875,
                                        "loc": {
                                          "start": {
                                            "line": 270,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 270,
                                            "column": 31
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10890,
                                    "end": 10912,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 34
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10891,
                                        "end": 10900,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 22
                                          }
                                        },
                                        "value": "angleOX",
                                        "rawValue": "angleOX",
                                        "raw": "'angleOX'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10902,
                                        "end": 10911,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 33
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10926,
                                    "end": 10949,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10927,
                                        "end": 10937,
                                        "loc": {
                                          "start": {
                                            "line": 272,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 272,
                                            "column": 23
                                          }
                                        },
                                        "value": "tangency",
                                        "rawValue": "tangency",
                                        "raw": "'tangency'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10939,
                                        "end": 10948,
                                        "loc": {
                                          "start": {
                                            "line": 272,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 272,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 10963,
                                    "end": 10991,
                                    "loc": {
                                      "start": {
                                        "line": 273,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 273,
                                        "column": 40
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 10964,
                                        "end": 10979,
                                        "loc": {
                                          "start": {
                                            "line": 273,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 273,
                                            "column": 28
                                          }
                                        },
                                        "value": "horizontality",
                                        "rawValue": "horizontality",
                                        "raw": "'horizontality'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 10981,
                                        "end": 10990,
                                        "loc": {
                                          "start": {
                                            "line": 273,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 273,
                                            "column": 39
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11005,
                                    "end": 11031,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11006,
                                        "end": 11019,
                                        "loc": {
                                          "start": {
                                            "line": 274,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 274,
                                            "column": 26
                                          }
                                        },
                                        "value": "verticality",
                                        "rawValue": "verticality",
                                        "raw": "'verticality'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11021,
                                        "end": 11030,
                                        "loc": {
                                          "start": {
                                            "line": 274,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 274,
                                            "column": 37
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11045,
                                    "end": 11076,
                                    "loc": {
                                      "start": {
                                        "line": 275,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 275,
                                        "column": 43
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11046,
                                        "end": 11064,
                                        "loc": {
                                          "start": {
                                            "line": 275,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 275,
                                            "column": 31
                                          }
                                        },
                                        "value": "perpendicularity",
                                        "rawValue": "perpendicularity",
                                        "raw": "'perpendicularity'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11066,
                                        "end": 11075,
                                        "loc": {
                                          "start": {
                                            "line": 275,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 275,
                                            "column": 42
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11090,
                                    "end": 11116,
                                    "loc": {
                                      "start": {
                                        "line": 276,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 276,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11091,
                                        "end": 11104,
                                        "loc": {
                                          "start": {
                                            "line": 276,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 276,
                                            "column": 26
                                          }
                                        },
                                        "value": "parallelity",
                                        "rawValue": "parallelity",
                                        "raw": "'parallelity'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11106,
                                        "end": 11115,
                                        "loc": {
                                          "start": {
                                            "line": 276,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 276,
                                            "column": 37
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11130,
                                    "end": 11155,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 37
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11131,
                                        "end": 11143,
                                        "loc": {
                                          "start": {
                                            "line": 277,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 277,
                                            "column": 25
                                          }
                                        },
                                        "value": "concentric",
                                        "rawValue": "concentric",
                                        "raw": "'concentric'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11145,
                                        "end": 11154,
                                        "loc": {
                                          "start": {
                                            "line": 277,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 277,
                                            "column": 36
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11169,
                                    "end": 11192,
                                    "loc": {
                                      "start": {
                                        "line": 278,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 278,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11170,
                                        "end": 11180,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 23
                                          }
                                        },
                                        "value": "midpoint",
                                        "rawValue": "midpoint",
                                        "raw": "'midpoint'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11182,
                                        "end": 11191,
                                        "loc": {
                                          "start": {
                                            "line": 278,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 278,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11206,
                                    "end": 11230,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 36
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11207,
                                        "end": 11218,
                                        "loc": {
                                          "start": {
                                            "line": 279,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 279,
                                            "column": 24
                                          }
                                        },
                                        "value": "symmetric",
                                        "rawValue": "symmetric",
                                        "raw": "'symmetric'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11220,
                                        "end": 11229,
                                        "loc": {
                                          "start": {
                                            "line": 279,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 279,
                                            "column": 35
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11244,
                                    "end": 11267,
                                    "loc": {
                                      "start": {
                                        "line": 280,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 280,
                                        "column": 35
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11245,
                                        "end": 11255,
                                        "loc": {
                                          "start": {
                                            "line": 280,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 280,
                                            "column": 23
                                          }
                                        },
                                        "value": "colinear",
                                        "rawValue": "colinear",
                                        "raw": "'colinear'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11257,
                                        "end": 11266,
                                        "loc": {
                                          "start": {
                                            "line": 280,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 280,
                                            "column": 34
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11281,
                                    "end": 11310,
                                    "loc": {
                                      "start": {
                                        "line": 281,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 281,
                                        "column": 41
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11282,
                                        "end": 11298,
                                        "loc": {
                                          "start": {
                                            "line": 281,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 281,
                                            "column": 29
                                          }
                                        },
                                        "value": "equal_distance",
                                        "rawValue": "equal_distance",
                                        "raw": "'equal_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11300,
                                        "end": 11309,
                                        "loc": {
                                          "start": {
                                            "line": 281,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 281,
                                            "column": 40
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11324,
                                    "end": 11345,
                                    "loc": {
                                      "start": {
                                        "line": 282,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 282,
                                        "column": 33
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11325,
                                        "end": 11333,
                                        "loc": {
                                          "start": {
                                            "line": 282,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 282,
                                            "column": 21
                                          }
                                        },
                                        "value": "radius",
                                        "rawValue": "radius",
                                        "raw": "'radius'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11335,
                                        "end": 11344,
                                        "loc": {
                                          "start": {
                                            "line": 282,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 282,
                                            "column": 32
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11359,
                                    "end": 11386,
                                    "loc": {
                                      "start": {
                                        "line": 283,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 283,
                                        "column": 39
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11360,
                                        "end": 11374,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 27
                                          }
                                        },
                                        "value": "equal_radius",
                                        "rawValue": "equal_radius",
                                        "raw": "'equal_radius'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11376,
                                        "end": 11385,
                                        "loc": {
                                          "start": {
                                            "line": 283,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 283,
                                            "column": 38
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11400,
                                    "end": 11434,
                                    "loc": {
                                      "start": {
                                        "line": 284,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 284,
                                        "column": 46
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11401,
                                        "end": 11422,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 34
                                          }
                                        },
                                        "value": "horizontal_distance",
                                        "rawValue": "horizontal_distance",
                                        "raw": "'horizontal_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11424,
                                        "end": 11433,
                                        "loc": {
                                          "start": {
                                            "line": 284,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 284,
                                            "column": 45
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11448,
                                    "end": 11480,
                                    "loc": {
                                      "start": {
                                        "line": 285,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 285,
                                        "column": 44
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11449,
                                        "end": 11468,
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 32
                                          }
                                        },
                                        "value": "vertical_distance",
                                        "rawValue": "vertical_distance",
                                        "raw": "'vertical_distance'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11470,
                                        "end": 11479,
                                        "loc": {
                                          "start": {
                                            "line": 285,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 285,
                                            "column": 43
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 11494,
                                    "end": 11523,
                                    "loc": {
                                      "start": {
                                        "line": 286,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 286,
                                        "column": 41
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Literal",
                                        "start": 11495,
                                        "end": 11511,
                                        "loc": {
                                          "start": {
                                            "line": 286,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 286,
                                            "column": 29
                                          }
                                        },
                                        "value": "autoconstraint",
                                        "rawValue": "autoconstraint",
                                        "raw": "'autoconstraint'"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 11513,
                                        "end": 11522,
                                        "loc": {
                                          "start": {
                                            "line": 286,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 286,
                                            "column": 40
                                          }
                                        },
                                        "value": "default",
                                        "rawValue": "default",
                                        "raw": "'default'"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11546,
                      "end": 11567,
                      "loc": {
                        "start": {
                          "line": 289,
                          "column": 8
                        },
                        "end": {
                          "line": 289,
                          "column": 29
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11550,
                          "end": 11566,
                          "loc": {
                            "start": {
                              "line": 289,
                              "column": 12
                            },
                            "end": {
                              "line": 289,
                              "column": 28
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11550,
                            "end": 11554,
                            "loc": {
                              "start": {
                                "line": 289,
                                "column": 12
                              },
                              "end": {
                                "line": 289,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 11557,
                            "end": 11566,
                            "loc": {
                              "start": {
                                "line": 289,
                                "column": 19
                              },
                              "end": {
                                "line": 289,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11557,
                              "end": 11561,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 19
                                },
                                "end": {
                                  "line": 289,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11562,
                              "end": 11566,
                              "loc": {
                                "start": {
                                  "line": 289,
                                  "column": 24
                                },
                                "end": {
                                  "line": 289,
                                  "column": 28
                                }
                              },
                              "name": "view"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 11577,
                      "end": 11890,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 8
                        },
                        "end": {
                          "line": 298,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 11581,
                        "end": 11623,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 12
                          },
                          "end": {
                            "line": 291,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 11581,
                          "end": 11601,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 12
                            },
                            "end": {
                              "line": 291,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 11581,
                            "end": 11587,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 12
                              },
                              "end": {
                                "line": 291,
                                "column": 18
                              }
                            },
                            "name": "action"
                          },
                          "operator": "===",
                          "right": {
                            "type": "Identifier",
                            "start": 11592,
                            "end": 11601,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 23
                              },
                              "end": {
                                "line": 291,
                                "column": 32
                              }
                            },
                            "name": "undefined"
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 11605,
                          "end": 11623,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 36
                            },
                            "end": {
                              "line": 291,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11605,
                            "end": 11609,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 36
                              },
                              "end": {
                                "line": 291,
                                "column": 40
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11610,
                            "end": 11623,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 41
                              },
                              "end": {
                                "line": 291,
                                "column": 54
                              }
                            },
                            "name": "currentCursor"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11625,
                        "end": 11684,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 56
                          },
                          "end": {
                            "line": 293,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11639,
                            "end": 11674,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 12
                              },
                              "end": {
                                "line": 292,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11639,
                              "end": 11673,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 12
                                },
                                "end": {
                                  "line": 292,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11639,
                                "end": 11653,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 11639,
                                  "end": 11643,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 16
                                    }
                                  },
                                  "name": "view"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11644,
                                  "end": 11653,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 26
                                    }
                                  },
                                  "name": "setCursor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11654,
                                  "end": 11672,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11654,
                                    "end": 11658,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11659,
                                    "end": 11672,
                                    "loc": {
                                      "start": {
                                        "line": 292,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 292,
                                        "column": 45
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 11690,
                        "end": 11890,
                        "loc": {
                          "start": {
                            "line": 293,
                            "column": 15
                          },
                          "end": {
                            "line": 298,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "CallExpression",
                          "start": 11694,
                          "end": 11716,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 19
                            },
                            "end": {
                              "line": 293,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11694,
                            "end": 11708,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 19
                              },
                              "end": {
                                "line": 293,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11694,
                              "end": 11704,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 19
                                },
                                "end": {
                                  "line": 293,
                                  "column": 29
                                }
                              },
                              "name": "cursorsURL"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11705,
                              "end": 11708,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 30
                                },
                                "end": {
                                  "line": 293,
                                  "column": 33
                                }
                              },
                              "name": "has"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 11709,
                              "end": 11715,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 34
                                },
                                "end": {
                                  "line": 293,
                                  "column": 40
                                }
                              },
                              "name": "action"
                            }
                          ]
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 11718,
                          "end": 11834,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 43
                            },
                            "end": {
                              "line": 296,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 11732,
                              "end": 11776,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 12
                                },
                                "end": {
                                  "line": 294,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 11732,
                                "end": 11775,
                                "loc": {
                                  "start": {
                                    "line": 294,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 294,
                                    "column": 55
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 11732,
                                  "end": 11750,
                                  "loc": {
                                    "start": {
                                      "line": 294,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 294,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11732,
                                    "end": 11736,
                                    "loc": {
                                      "start": {
                                        "line": 294,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 294,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11737,
                                    "end": 11750,
                                    "loc": {
                                      "start": {
                                        "line": 294,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 294,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 11753,
                                  "end": 11775,
                                  "loc": {
                                    "start": {
                                      "line": 294,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 294,
                                      "column": 55
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 11753,
                                    "end": 11767,
                                    "loc": {
                                      "start": {
                                        "line": 294,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 294,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 11753,
                                      "end": 11763,
                                      "loc": {
                                        "start": {
                                          "line": 294,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 294,
                                          "column": 43
                                        }
                                      },
                                      "name": "cursorsURL"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11764,
                                      "end": 11767,
                                      "loc": {
                                        "start": {
                                          "line": 294,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 294,
                                          "column": 47
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 11768,
                                      "end": 11774,
                                      "loc": {
                                        "start": {
                                          "line": 294,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 294,
                                          "column": 54
                                        }
                                      },
                                      "name": "action"
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 11789,
                              "end": 11824,
                              "loc": {
                                "start": {
                                  "line": 295,
                                  "column": 12
                                },
                                "end": {
                                  "line": 295,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 11789,
                                "end": 11823,
                                "loc": {
                                  "start": {
                                    "line": 295,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 295,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11789,
                                  "end": 11803,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11789,
                                    "end": 11793,
                                    "loc": {
                                      "start": {
                                        "line": 295,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 295,
                                        "column": 16
                                      }
                                    },
                                    "name": "view"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11794,
                                    "end": 11803,
                                    "loc": {
                                      "start": {
                                        "line": 295,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 295,
                                        "column": 26
                                      }
                                    },
                                    "name": "setCursor"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 11804,
                                    "end": 11822,
                                    "loc": {
                                      "start": {
                                        "line": 295,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 295,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11804,
                                      "end": 11808,
                                      "loc": {
                                        "start": {
                                          "line": 295,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 295,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11809,
                                      "end": 11822,
                                      "loc": {
                                        "start": {
                                          "line": 295,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 295,
                                          "column": 45
                                        }
                                      },
                                      "name": "currentCursor"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        "alternate": {
                          "type": "BlockStatement",
                          "start": 11840,
                          "end": 11890,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 15
                            },
                            "end": {
                              "line": 298,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 11854,
                              "end": 11880,
                              "loc": {
                                "start": {
                                  "line": 297,
                                  "column": 12
                                },
                                "end": {
                                  "line": 297,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 11854,
                                "end": 11879,
                                "loc": {
                                  "start": {
                                    "line": 297,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 297,
                                    "column": 37
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 11854,
                                  "end": 11872,
                                  "loc": {
                                    "start": {
                                      "line": 297,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 297,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11854,
                                    "end": 11858,
                                    "loc": {
                                      "start": {
                                        "line": 297,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 297,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11859,
                                    "end": 11872,
                                    "loc": {
                                      "start": {
                                        "line": 297,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 297,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentCursor"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "Literal",
                                  "start": 11875,
                                  "end": 11879,
                                  "loc": {
                                    "start": {
                                      "line": 297,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 297,
                                      "column": 37
                                    }
                                  },
                                  "value": null,
                                  "rawValue": null,
                                  "raw": "null"
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11902,
              "end": 13023,
              "loc": {
                "start": {
                  "line": 301,
                  "column": 4
                },
                "end": {
                  "line": 328,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11908,
                "end": 11918,
                "loc": {
                  "start": {
                    "line": 301,
                    "column": 10
                  },
                  "end": {
                    "line": 301,
                    "column": 20
                  }
                },
                "name": "chooseTool"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11918,
                "end": 13023,
                "loc": {
                  "start": {
                    "line": 301,
                    "column": 20
                  },
                  "end": {
                    "line": 328,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11919,
                    "end": 11927,
                    "loc": {
                      "start": {
                        "line": 301,
                        "column": 21
                      },
                      "end": {
                        "line": 301,
                        "column": 29
                      }
                    },
                    "name": "toolName"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11929,
                  "end": 13023,
                  "loc": {
                    "start": {
                      "line": 301,
                      "column": 31
                    },
                    "end": {
                      "line": 328,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 11939,
                      "end": 11970,
                      "loc": {
                        "start": {
                          "line": 302,
                          "column": 8
                        },
                        "end": {
                          "line": 302,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11939,
                        "end": 11969,
                        "loc": {
                          "start": {
                            "line": 302,
                            "column": 8
                          },
                          "end": {
                            "line": 302,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11939,
                          "end": 11959,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 8
                            },
                            "end": {
                              "line": 302,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11939,
                            "end": 11943,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 8
                              },
                              "end": {
                                "line": 302,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11944,
                            "end": 11959,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 13
                              },
                              "end": {
                                "line": 302,
                                "column": 28
                              }
                            },
                            "name": "setActionCursor"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 11960,
                            "end": 11968,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 29
                              },
                              "end": {
                                "line": 302,
                                "column": 37
                              }
                            },
                            "name": "toolName"
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 11980,
                      "end": 12222,
                      "loc": {
                        "start": {
                          "line": 304,
                          "column": 8
                        },
                        "end": {
                          "line": 309,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 11984,
                        "end": 11992,
                        "loc": {
                          "start": {
                            "line": 304,
                            "column": 12
                          },
                          "end": {
                            "line": 304,
                            "column": 20
                          }
                        },
                        "name": "toolName"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11994,
                        "end": 12222,
                        "loc": {
                          "start": {
                            "line": 304,
                            "column": 22
                          },
                          "end": {
                            "line": 309,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 12088,
                            "end": 12141,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 12
                              },
                              "end": {
                                "line": 306,
                                "column": 65
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 12092,
                                "end": 12140,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 64
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 12092,
                                  "end": 12107,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 31
                                    }
                                  },
                                  "name": "controlsHandler",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 12110,
                                  "end": 12140,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12110,
                                    "end": 12118,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 42
                                      }
                                    },
                                    "name": "Controls"
                                  },
                                  "property": {
                                    "type": "BinaryExpression",
                                    "start": 12119,
                                    "end": 12139,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 63
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 12119,
                                      "end": 12127,
                                      "loc": {
                                        "start": {
                                          "line": 306,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 306,
                                          "column": 51
                                        }
                                      },
                                      "name": "toolName"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Literal",
                                      "start": 12130,
                                      "end": 12139,
                                      "loc": {
                                        "start": {
                                          "line": 306,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 306,
                                          "column": 63
                                        }
                                      },
                                      "value": "Handler",
                                      "rawValue": "Handler",
                                      "raw": "'Handler'"
                                    }
                                  },
                                  "computed": true
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " supported toolName's are: empty point line arc polyline tangency",
                                "start": 12008,
                                "end": 12075,
                                "loc": {
                                  "start": {
                                    "line": 305,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 305,
                                    "column": 79
                                  }
                                },
                                "range": [
                                  12008,
                                  12075
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 12154,
                            "end": 12212,
                            "loc": {
                              "start": {
                                "line": 307,
                                "column": 12
                              },
                              "end": {
                                "line": 308,
                                "column": 23
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 12158,
                              "end": 12187,
                              "loc": {
                                "start": {
                                  "line": 307,
                                  "column": 16
                                },
                                "end": {
                                  "line": 307,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 12158,
                                "end": 12173,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 31
                                  }
                                },
                                "name": "controlsHandler"
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 12178,
                                "end": 12187,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 45
                                  }
                                },
                                "name": "undefined"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 12205,
                              "end": 12212,
                              "loc": {
                                "start": {
                                  "line": 308,
                                  "column": 16
                                },
                                "end": {
                                  "line": 308,
                                  "column": 23
                                }
                              },
                              "argument": null
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " choosing line/arc edges when drawing a polyline",
                          "start": 12232,
                          "end": 12282,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 8
                            },
                            "end": {
                              "line": 311,
                              "column": 58
                            }
                          },
                          "range": [
                            12232,
                            12282
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12291,
                      "end": 12533,
                      "loc": {
                        "start": {
                          "line": 312,
                          "column": 8
                        },
                        "end": {
                          "line": 314,
                          "column": 83
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 12295,
                        "end": 12359,
                        "loc": {
                          "start": {
                            "line": 312,
                            "column": 12
                          },
                          "end": {
                            "line": 312,
                            "column": 76
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 12295,
                          "end": 12323,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 12
                            },
                            "end": {
                              "line": 312,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12295,
                            "end": 12299,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 12
                              },
                              "end": {
                                "line": 312,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12300,
                            "end": 12323,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 17
                              },
                              "end": {
                                "line": 312,
                                "column": 40
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 12335,
                          "end": 12359,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 52
                            },
                            "end": {
                              "line": 312,
                              "column": 76
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12335,
                            "end": 12343,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 52
                              },
                              "end": {
                                "line": 312,
                                "column": 60
                              }
                            },
                            "name": "Controls"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12344,
                            "end": 12359,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 61
                              },
                              "end": {
                                "line": 312,
                                "column": 76
                              }
                            },
                            "name": "polylineHandler"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "IfStatement",
                        "start": 12373,
                        "end": 12533,
                        "loc": {
                          "start": {
                            "line": 313,
                            "column": 12
                          },
                          "end": {
                            "line": 314,
                            "column": 83
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 12377,
                          "end": 12448,
                          "loc": {
                            "start": {
                              "line": 313,
                              "column": 16
                            },
                            "end": {
                              "line": 313,
                              "column": 87
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 12377,
                            "end": 12385,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 16
                              },
                              "end": {
                                "line": 313,
                                "column": 24
                              }
                            },
                            "name": "toolName"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "LogicalExpression",
                            "start": 12390,
                            "end": 12447,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 29
                              },
                              "end": {
                                "line": 313,
                                "column": 86
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 12390,
                              "end": 12417,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 29
                                },
                                "end": {
                                  "line": 313,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12390,
                                "end": 12409,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 313,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12390,
                                  "end": 12398,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 37
                                    }
                                  },
                                  "name": "toolName"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12399,
                                  "end": 12409,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 48
                                    }
                                  },
                                  "name": "startsWith"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12410,
                                  "end": 12416,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 55
                                    }
                                  },
                                  "value": "line",
                                  "rawValue": "line",
                                  "raw": "'line'"
                                }
                              ]
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 12421,
                              "end": 12447,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 60
                                },
                                "end": {
                                  "line": 313,
                                  "column": 86
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12421,
                                "end": 12440,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 313,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12421,
                                  "end": 12429,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 68
                                    }
                                  },
                                  "name": "toolName"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12430,
                                  "end": 12440,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 79
                                    }
                                  },
                                  "name": "startsWith"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12441,
                                  "end": 12446,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 85
                                    }
                                  },
                                  "value": "arc",
                                  "rawValue": "arc",
                                  "raw": "'arc'"
                                }
                              ]
                            },
                            "parenthesizedExpression": true
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 12466,
                          "end": 12533,
                          "loc": {
                            "start": {
                              "line": 314,
                              "column": 16
                            },
                            "end": {
                              "line": 314,
                              "column": 83
                            }
                          },
                          "argument": {
                            "type": "AwaitExpression",
                            "start": 12473,
                            "end": 12532,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 23
                              },
                              "end": {
                                "line": 314,
                                "column": 82
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 12479,
                              "end": 12532,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 29
                                },
                                "end": {
                                  "line": 314,
                                  "column": 82
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12479,
                                "end": 12522,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12479,
                                  "end": 12507,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12479,
                                    "end": 12483,
                                    "loc": {
                                      "start": {
                                        "line": 314,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 314,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12484,
                                    "end": 12507,
                                    "loc": {
                                      "start": {
                                        "line": 314,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 314,
                                        "column": 57
                                      }
                                    },
                                    "name": "__sketchControlsHandler"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12508,
                                  "end": 12522,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 72
                                    }
                                  },
                                  "name": "changeEdgeType"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 12523,
                                  "end": 12531,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 81
                                    }
                                  },
                                  "name": "toolName"
                                }
                              ]
                            }
                          },
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " choosing line/arc edges when drawing a polyline",
                          "start": 12232,
                          "end": 12282,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 8
                            },
                            "end": {
                              "line": 311,
                              "column": 58
                            }
                          },
                          "range": [
                            12232,
                            12282
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ask controls handler to finish whatever it is doing",
                          "start": 12543,
                          "end": 12597,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 8
                            },
                            "end": {
                              "line": 316,
                              "column": 62
                            }
                          },
                          "range": [
                            12543,
                            12597
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12606,
                      "end": 12757,
                      "loc": {
                        "start": {
                          "line": 317,
                          "column": 8
                        },
                        "end": {
                          "line": 320,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 12610,
                        "end": 12638,
                        "loc": {
                          "start": {
                            "line": 317,
                            "column": 12
                          },
                          "end": {
                            "line": 317,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 12610,
                          "end": 12614,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 12
                            },
                            "end": {
                              "line": 317,
                              "column": 16
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 12615,
                          "end": 12638,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 17
                            },
                            "end": {
                              "line": 317,
                              "column": 40
                            }
                          },
                          "name": "__sketchControlsHandler"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12640,
                        "end": 12757,
                        "loc": {
                          "start": {
                            "line": 317,
                            "column": 42
                          },
                          "end": {
                            "line": 320,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12654,
                            "end": 12698,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 12
                              },
                              "end": {
                                "line": 318,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 12654,
                              "end": 12697,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 12
                                },
                                "end": {
                                  "line": 318,
                                  "column": 55
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 12660,
                                "end": 12697,
                                "loc": {
                                  "start": {
                                    "line": 318,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 318,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 12660,
                                  "end": 12695,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 12660,
                                    "end": 12688,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 12660,
                                      "end": 12664,
                                      "loc": {
                                        "start": {
                                          "line": 318,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 318,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12665,
                                      "end": 12688,
                                      "loc": {
                                        "start": {
                                          "line": 318,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 318,
                                          "column": 46
                                        }
                                      },
                                      "name": "__sketchControlsHandler"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12689,
                                    "end": 12695,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 53
                                      }
                                    },
                                    "name": "finish"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12711,
                            "end": 12747,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 12
                              },
                              "end": {
                                "line": 319,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12711,
                              "end": 12746,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 12
                                },
                                "end": {
                                  "line": 319,
                                  "column": 47
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 12711,
                                "end": 12739,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12711,
                                  "end": 12715,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12716,
                                  "end": 12739,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 40
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 12742,
                                "end": 12746,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 47
                                  }
                                },
                                "value": null,
                                "rawValue": null,
                                "raw": "null"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " ask controls handler to finish whatever it is doing",
                          "start": 12543,
                          "end": 12597,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 8
                            },
                            "end": {
                              "line": 316,
                              "column": 62
                            }
                          },
                          "range": [
                            12543,
                            12597
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "TODO: is it really necessary here?",
                          "start": 12767,
                          "end": 12803,
                          "loc": {
                            "start": {
                              "line": 322,
                              "column": 8
                            },
                            "end": {
                              "line": 322,
                              "column": 44
                            }
                          },
                          "range": [
                            12767,
                            12803
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12812,
                      "end": 12924,
                      "loc": {
                        "start": {
                          "line": 323,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 56
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12816,
                        "end": 12866,
                        "loc": {
                          "start": {
                            "line": 323,
                            "column": 12
                          },
                          "end": {
                            "line": 323,
                            "column": 62
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12816,
                          "end": 12836,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 12
                            },
                            "end": {
                              "line": 323,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 12816,
                            "end": 12824,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 12
                              },
                              "end": {
                                "line": 323,
                                "column": 20
                              }
                            },
                            "name": "toolName",
                            "leadingComments": null
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 12829,
                            "end": 12836,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 25
                              },
                              "end": {
                                "line": 323,
                                "column": 32
                              }
                            },
                            "value": "empty",
                            "rawValue": "empty",
                            "raw": "\"empty\""
                          },
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 12840,
                          "end": 12866,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 36
                            },
                            "end": {
                              "line": 323,
                              "column": 62
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12840,
                            "end": 12849,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 36
                              },
                              "end": {
                                "line": 323,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12840,
                              "end": 12844,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 36
                                },
                                "end": {
                                  "line": 323,
                                  "column": 40
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12845,
                              "end": 12849,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 41
                                },
                                "end": {
                                  "line": 323,
                                  "column": 45
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12850,
                            "end": 12866,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 46
                              },
                              "end": {
                                "line": 323,
                                "column": 62
                              }
                            },
                            "name": "incrementalLevel"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12880,
                        "end": 12924,
                        "loc": {
                          "start": {
                            "line": 324,
                            "column": 12
                          },
                          "end": {
                            "line": 324,
                            "column": 56
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 12880,
                          "end": 12923,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 12
                            },
                            "end": {
                              "line": 324,
                              "column": 55
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 12886,
                            "end": 12923,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 18
                              },
                              "end": {
                                "line": 324,
                                "column": 55
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12886,
                              "end": 12921,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 18
                                },
                                "end": {
                                  "line": 324,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12886,
                                "end": 12904,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12886,
                                  "end": 12890,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12891,
                                  "end": 12904,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 36
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12905,
                                "end": 12921,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 53
                                  }
                                },
                                "name": "solveConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "TODO: is it really necessary here?",
                          "start": 12767,
                          "end": 12803,
                          "loc": {
                            "start": {
                              "line": 322,
                              "column": 8
                            },
                            "end": {
                              "line": 322,
                              "column": 44
                            }
                          },
                          "range": [
                            12767,
                            12803
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12934,
                      "end": 13017,
                      "loc": {
                        "start": {
                          "line": 326,
                          "column": 8
                        },
                        "end": {
                          "line": 327,
                          "column": 69
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 12938,
                        "end": 12946,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 12
                          },
                          "end": {
                            "line": 326,
                            "column": 20
                          }
                        },
                        "name": "toolName"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 12960,
                        "end": 13017,
                        "loc": {
                          "start": {
                            "line": 327,
                            "column": 12
                          },
                          "end": {
                            "line": 327,
                            "column": 69
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 12960,
                          "end": 13016,
                          "loc": {
                            "start": {
                              "line": 327,
                              "column": 12
                            },
                            "end": {
                              "line": 327,
                              "column": 68
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 12960,
                            "end": 12988,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 12
                              },
                              "end": {
                                "line": 327,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12960,
                              "end": 12964,
                              "loc": {
                                "start": {
                                  "line": 327,
                                  "column": 12
                                },
                                "end": {
                                  "line": 327,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12965,
                              "end": 12988,
                              "loc": {
                                "start": {
                                  "line": 327,
                                  "column": 17
                                },
                                "end": {
                                  "line": 327,
                                  "column": 40
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 12991,
                            "end": 13016,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 43
                              },
                              "end": {
                                "line": 327,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 12995,
                              "end": 13010,
                              "loc": {
                                "start": {
                                  "line": 327,
                                  "column": 47
                                },
                                "end": {
                                  "line": 327,
                                  "column": 62
                                }
                              },
                              "name": "controlsHandler"
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 13011,
                                "end": 13015,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 67
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13029,
              "end": 13275,
              "loc": {
                "start": {
                  "line": 330,
                  "column": 4
                },
                "end": {
                  "line": 336,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13035,
                "end": 13051,
                "loc": {
                  "start": {
                    "line": 330,
                    "column": 10
                  },
                  "end": {
                    "line": 330,
                    "column": 26
                  }
                },
                "name": "solveConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13051,
                "end": 13275,
                "loc": {
                  "start": {
                    "line": 330,
                    "column": 26
                  },
                  "end": {
                    "line": 336,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 13054,
                  "end": 13275,
                  "loc": {
                    "start": {
                      "line": 330,
                      "column": 29
                    },
                    "end": {
                      "line": 336,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 13064,
                      "end": 13108,
                      "loc": {
                        "start": {
                          "line": 331,
                          "column": 8
                        },
                        "end": {
                          "line": 332,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 13068,
                        "end": 13087,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 12
                          },
                          "end": {
                            "line": 331,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 13069,
                          "end": 13087,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 13
                            },
                            "end": {
                              "line": 331,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13069,
                            "end": 13073,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 13
                              },
                              "end": {
                                "line": 331,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13074,
                            "end": 13087,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 18
                              },
                              "end": {
                                "line": 331,
                                "column": 31
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 13101,
                        "end": 13108,
                        "loc": {
                          "start": {
                            "line": 332,
                            "column": 12
                          },
                          "end": {
                            "line": 332,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13117,
                      "end": 13174,
                      "loc": {
                        "start": {
                          "line": 333,
                          "column": 8
                        },
                        "end": {
                          "line": 333,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13121,
                          "end": 13173,
                          "loc": {
                            "start": {
                              "line": 333,
                              "column": 12
                            },
                            "end": {
                              "line": 333,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13121,
                            "end": 13127,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 12
                              },
                              "end": {
                                "line": 333,
                                "column": 18
                              }
                            },
                            "name": "result"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 13130,
                            "end": 13173,
                            "loc": {
                              "start": {
                                "line": 333,
                                "column": 21
                              },
                              "end": {
                                "line": 333,
                                "column": 64
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 13136,
                              "end": 13173,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 27
                                },
                                "end": {
                                  "line": 333,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13136,
                                "end": 13171,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13136,
                                  "end": 13154,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13136,
                                    "end": 13140,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13141,
                                    "end": 13154,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 45
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13155,
                                  "end": 13171,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 62
                                    }
                                  },
                                  "name": "solveConstraints"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " result: 0 - fail, 1 - well-defined, 2 - solved?",
                          "start": 13183,
                          "end": 13233,
                          "loc": {
                            "start": {
                              "line": 334,
                              "column": 8
                            },
                            "end": {
                              "line": 334,
                              "column": 58
                            }
                          },
                          "range": [
                            13183,
                            13233
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " TODO show result somehow",
                          "start": 13242,
                          "end": 13269,
                          "loc": {
                            "start": {
                              "line": 335,
                              "column": 8
                            },
                            "end": {
                              "line": 335,
                              "column": 35
                            }
                          },
                          "range": [
                            13242,
                            13269
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13281,
              "end": 13465,
              "loc": {
                "start": {
                  "line": 338,
                  "column": 4
                },
                "end": {
                  "line": 342,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13287,
                "end": 13306,
                "loc": {
                  "start": {
                    "line": 338,
                    "column": 10
                  },
                  "end": {
                    "line": 338,
                    "column": 29
                  }
                },
                "name": "setIncrementalLevel"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13306,
                "end": 13465,
                "loc": {
                  "start": {
                    "line": 338,
                    "column": 29
                  },
                  "end": {
                    "line": 342,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13307,
                    "end": 13312,
                    "loc": {
                      "start": {
                        "line": 338,
                        "column": 30
                      },
                      "end": {
                        "line": 338,
                        "column": 35
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13314,
                  "end": 13465,
                  "loc": {
                    "start": {
                      "line": 338,
                      "column": 37
                    },
                    "end": {
                      "line": 342,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 13324,
                      "end": 13355,
                      "loc": {
                        "start": {
                          "line": 339,
                          "column": 8
                        },
                        "end": {
                          "line": 339,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13324,
                        "end": 13354,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 8
                          },
                          "end": {
                            "line": 339,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13324,
                          "end": 13346,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 8
                            },
                            "end": {
                              "line": 339,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13324,
                            "end": 13328,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 8
                              },
                              "end": {
                                "line": 339,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13329,
                            "end": 13346,
                            "loc": {
                              "start": {
                                "line": 339,
                                "column": 13
                              },
                              "end": {
                                "line": 339,
                                "column": 30
                              }
                            },
                            "name": "_incrementalLevel"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 13349,
                          "end": 13354,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 33
                            },
                            "end": {
                              "line": 339,
                              "column": 38
                            }
                          },
                          "name": "value"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 13364,
                      "end": 13417,
                      "loc": {
                        "start": {
                          "line": 340,
                          "column": 8
                        },
                        "end": {
                          "line": 341,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 13368,
                        "end": 13373,
                        "loc": {
                          "start": {
                            "line": 340,
                            "column": 12
                          },
                          "end": {
                            "line": 340,
                            "column": 17
                          }
                        },
                        "name": "value"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 13387,
                        "end": 13417,
                        "loc": {
                          "start": {
                            "line": 341,
                            "column": 12
                          },
                          "end": {
                            "line": 341,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AwaitExpression",
                          "start": 13387,
                          "end": 13416,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 12
                            },
                            "end": {
                              "line": 341,
                              "column": 41
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 13393,
                            "end": 13416,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 18
                              },
                              "end": {
                                "line": 341,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 13393,
                              "end": 13414,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 18
                                },
                                "end": {
                                  "line": 341,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 13393,
                                "end": 13397,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 22
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13398,
                                "end": 13414,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 39
                                  }
                                },
                                "name": "solveConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "note: solve constraints when turned on",
                          "start": 13419,
                          "end": 13459,
                          "loc": {
                            "start": {
                              "line": 341,
                              "column": 44
                            },
                            "end": {
                              "line": 341,
                              "column": 84
                            }
                          },
                          "range": [
                            13419,
                            13459
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " result: 0 - fail, 1 - well-defined, 2 - solved?",
                  "start": 13183,
                  "end": 13233,
                  "loc": {
                    "start": {
                      "line": 334,
                      "column": 8
                    },
                    "end": {
                      "line": 334,
                      "column": 58
                    }
                  },
                  "range": [
                    13183,
                    13233
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " TODO show result somehow",
                  "start": 13242,
                  "end": 13269,
                  "loc": {
                    "start": {
                      "line": 335,
                      "column": 8
                    },
                    "end": {
                      "line": 335,
                      "column": 35
                    }
                  },
                  "range": [
                    13242,
                    13269
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 13471,
              "end": 13762,
              "loc": {
                "start": {
                  "line": 344,
                  "column": 4
                },
                "end": {
                  "line": 350,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13471,
                "end": 13488,
                "loc": {
                  "start": {
                    "line": 344,
                    "column": 4
                  },
                  "end": {
                    "line": 344,
                    "column": 21
                  }
                },
                "name": "autoconstraintAll",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13488,
                "end": 13762,
                "loc": {
                  "start": {
                    "line": 344,
                    "column": 21
                  },
                  "end": {
                    "line": 350,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 13491,
                  "end": 13762,
                  "loc": {
                    "start": {
                      "line": 344,
                      "column": 24
                    },
                    "end": {
                      "line": 350,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 13501,
                      "end": 13567,
                      "loc": {
                        "start": {
                          "line": 345,
                          "column": 8
                        },
                        "end": {
                          "line": 345,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13505,
                          "end": 13566,
                          "loc": {
                            "start": {
                              "line": 345,
                              "column": 12
                            },
                            "end": {
                              "line": 345,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13505,
                            "end": 13520,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 12
                              },
                              "end": {
                                "line": 345,
                                "column": 27
                              }
                            },
                            "name": "constrGenerator"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 13523,
                            "end": 13566,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 30
                              },
                              "end": {
                                "line": 345,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 13527,
                              "end": 13546,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 34
                                },
                                "end": {
                                  "line": 345,
                                  "column": 53
                                }
                              },
                              "name": "ConstraintGenerator"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 13547,
                                "end": 13565,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13547,
                                  "end": 13551,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 58
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13552,
                                  "end": 13565,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 72
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13576,
                      "end": 13642,
                      "loc": {
                        "start": {
                          "line": 346,
                          "column": 8
                        },
                        "end": {
                          "line": 346,
                          "column": 74
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13580,
                          "end": 13641,
                          "loc": {
                            "start": {
                              "line": 346,
                              "column": 12
                            },
                            "end": {
                              "line": 346,
                              "column": 73
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13580,
                            "end": 13594,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 12
                              },
                              "end": {
                                "line": 346,
                                "column": 26
                              }
                            },
                            "name": "newConstraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 13597,
                            "end": 13641,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 29
                              },
                              "end": {
                                "line": 346,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 13597,
                              "end": 13639,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 29
                                },
                                "end": {
                                  "line": 346,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13597,
                                "end": 13612,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 44
                                  }
                                },
                                "name": "constrGenerator"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13613,
                                "end": 13639,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 71
                                  }
                                },
                                "name": "generateImpliedConstraints"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13651,
                      "end": 13756,
                      "loc": {
                        "start": {
                          "line": 347,
                          "column": 8
                        },
                        "end": {
                          "line": 349,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 13651,
                        "end": 13755,
                        "loc": {
                          "start": {
                            "line": 347,
                            "column": 8
                          },
                          "end": {
                            "line": 349,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 13651,
                          "end": 13663,
                          "loc": {
                            "start": {
                              "line": 347,
                              "column": 8
                            },
                            "end": {
                              "line": 347,
                              "column": 20
                            }
                          },
                          "name": "trackPromise"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 13677,
                            "end": 13745,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 12
                              },
                              "end": {
                                "line": 348,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 13677,
                              "end": 13707,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 12
                                },
                                "end": {
                                  "line": 348,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 13677,
                                "end": 13695,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13677,
                                  "end": 13681,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13682,
                                  "end": 13695,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 30
                                    }
                                  },
                                  "name": "currentSketch"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13696,
                                "end": 13707,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 42
                                  }
                                },
                                "name": "addToSketch"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 13708,
                                "end": 13722,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 57
                                  }
                                },
                                "name": "newConstraints"
                              },
                              {
                                "type": "ObjectExpression",
                                "start": 13724,
                                "end": 13744,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 79
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 13725,
                                    "end": 13743,
                                    "loc": {
                                      "start": {
                                        "line": 348,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 348,
                                        "column": 78
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 13725,
                                      "end": 13737,
                                      "loc": {
                                        "start": {
                                          "line": 348,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 348,
                                          "column": 72
                                        }
                                      },
                                      "name": "updateSketch"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 13739,
                                      "end": 13743,
                                      "loc": {
                                        "start": {
                                          "line": 348,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 348,
                                          "column": 78
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "note: solve constraints when turned on",
                  "start": 13419,
                  "end": 13459,
                  "loc": {
                    "start": {
                      "line": 341,
                      "column": 44
                    },
                    "end": {
                      "line": 341,
                      "column": 84
                    }
                  },
                  "range": [
                    13419,
                    13459
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 13768,
              "end": 15619,
              "loc": {
                "start": {
                  "line": 352,
                  "column": 4
                },
                "end": {
                  "line": 398,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13768,
                "end": 13788,
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 4
                  },
                  "end": {
                    "line": 352,
                    "column": 24
                  }
                },
                "name": "moveUnderConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13788,
                "end": 15619,
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 24
                  },
                  "end": {
                    "line": 398,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13789,
                    "end": 13795,
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 25
                      },
                      "end": {
                        "line": 352,
                        "column": 31
                      }
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 13797,
                    "end": 13803,
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 33
                      },
                      "end": {
                        "line": 352,
                        "column": 39
                      }
                    },
                    "name": "newPnt"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 13805,
                  "end": 15619,
                  "loc": {
                    "start": {
                      "line": 352,
                      "column": 41
                    },
                    "end": {
                      "line": 398,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "FunctionDeclaration",
                      "start": 13815,
                      "end": 14081,
                      "loc": {
                        "start": {
                          "line": 353,
                          "column": 8
                        },
                        "end": {
                          "line": 357,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 13824,
                        "end": 13842,
                        "loc": {
                          "start": {
                            "line": 353,
                            "column": 17
                          },
                          "end": {
                            "line": 353,
                            "column": 35
                          }
                        },
                        "name": "updateSketchStates"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 13843,
                          "end": 13850,
                          "loc": {
                            "start": {
                              "line": 353,
                              "column": 36
                            },
                            "end": {
                              "line": 353,
                              "column": 43
                            }
                          },
                          "name": "objects"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 13852,
                        "end": 14081,
                        "loc": {
                          "start": {
                            "line": 353,
                            "column": 45
                          },
                          "end": {
                            "line": 357,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13866,
                            "end": 13910,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 12
                              },
                              "end": {
                                "line": 354,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13866,
                              "end": 13909,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 12
                                },
                                "end": {
                                  "line": 354,
                                  "column": 55
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13866,
                                "end": 13886,
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13866,
                                  "end": 13883,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13866,
                                    "end": 13870,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 354,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13871,
                                    "end": 13883,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 354,
                                        "column": 29
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 13884,
                                  "end": 13885,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 31
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 13889,
                                "end": 13909,
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13889,
                                  "end": 13906,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13889,
                                    "end": 13893,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 354,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13894,
                                    "end": 13906,
                                    "loc": {
                                      "start": {
                                        "line": 354,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 354,
                                        "column": 52
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 13907,
                                  "end": 13908,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 54
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 13923,
                            "end": 13976,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 12
                              },
                              "end": {
                                "line": 355,
                                "column": 65
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13923,
                              "end": 13975,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 12
                                },
                                "end": {
                                  "line": 355,
                                  "column": 64
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13923,
                                "end": 13943,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13923,
                                  "end": 13940,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13923,
                                    "end": 13927,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13928,
                                    "end": 13940,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 29
                                      }
                                    },
                                    "name": "sketchStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 13941,
                                  "end": 13942,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 31
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 13946,
                                "end": 13975,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 64
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 13946,
                                  "end": 13973,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 62
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 13946,
                                    "end": 13964,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 13946,
                                      "end": 13950,
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13951,
                                      "end": 13964,
                                      "loc": {
                                        "start": {
                                          "line": 355,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 355,
                                          "column": 53
                                        }
                                      },
                                      "name": "currentSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13965,
                                    "end": 13973,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 62
                                      }
                                    },
                                    "name": "getState"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 13989,
                            "end": 14071,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 12
                              },
                              "end": {
                                "line": 356,
                                "column": 94
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13989,
                              "end": 14070,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 12
                                },
                                "end": {
                                  "line": 356,
                                  "column": 93
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13989,
                                "end": 14003,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13989,
                                  "end": 13993,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13994,
                                  "end": 14003,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 26
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 14006,
                                "end": 14070,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 93
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14006,
                                  "end": 14051,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 74
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14006,
                                    "end": 14024,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14006,
                                      "end": 14010,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14011,
                                      "end": 14024,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 47
                                        }
                                      },
                                      "name": "currentSketch"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14025,
                                    "end": 14051,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 74
                                      }
                                    },
                                    "name": "getStateLinearContinuation"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 14052,
                                    "end": 14069,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 92
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14052,
                                      "end": 14056,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 75
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 79
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14057,
                                      "end": 14069,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 92
                                        }
                                      },
                                      "name": "sketchStates"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 14091,
                      "end": 14228,
                      "loc": {
                        "start": {
                          "line": 359,
                          "column": 8
                        },
                        "end": {
                          "line": 362,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 14100,
                        "end": 14117,
                        "loc": {
                          "start": {
                            "line": 359,
                            "column": 17
                          },
                          "end": {
                            "line": 359,
                            "column": 34
                          }
                        },
                        "name": "updateMouseStates"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [],
                      "body": {
                        "type": "BlockStatement",
                        "start": 14120,
                        "end": 14228,
                        "loc": {
                          "start": {
                            "line": 359,
                            "column": 37
                          },
                          "end": {
                            "line": 362,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14134,
                            "end": 14176,
                            "loc": {
                              "start": {
                                "line": 360,
                                "column": 12
                              },
                              "end": {
                                "line": 360,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14134,
                              "end": 14175,
                              "loc": {
                                "start": {
                                  "line": 360,
                                  "column": 12
                                },
                                "end": {
                                  "line": 360,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14134,
                                "end": 14153,
                                "loc": {
                                  "start": {
                                    "line": 360,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 360,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14134,
                                  "end": 14150,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14134,
                                    "end": 14138,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14139,
                                    "end": 14150,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 28
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 14151,
                                  "end": 14152,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 30
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 14156,
                                "end": 14175,
                                "loc": {
                                  "start": {
                                    "line": 360,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 360,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14156,
                                  "end": 14172,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14156,
                                    "end": 14160,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14161,
                                    "end": 14172,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 50
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 14173,
                                  "end": 14174,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 52
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14189,
                            "end": 14218,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 12
                              },
                              "end": {
                                "line": 361,
                                "column": 41
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14189,
                              "end": 14217,
                              "loc": {
                                "start": {
                                  "line": 361,
                                  "column": 12
                                },
                                "end": {
                                  "line": 361,
                                  "column": 40
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14189,
                                "end": 14208,
                                "loc": {
                                  "start": {
                                    "line": 361,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 361,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14189,
                                  "end": 14205,
                                  "loc": {
                                    "start": {
                                      "line": 361,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 361,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14189,
                                    "end": 14193,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14194,
                                    "end": 14205,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 28
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 14206,
                                  "end": 14207,
                                  "loc": {
                                    "start": {
                                      "line": 361,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 361,
                                      "column": 30
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 14211,
                                "end": 14217,
                                "loc": {
                                  "start": {
                                    "line": 361,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 361,
                                    "column": 40
                                  }
                                },
                                "name": "newPnt"
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 14238,
                      "end": 14445,
                      "loc": {
                        "start": {
                          "line": 364,
                          "column": 8
                        },
                        "end": {
                          "line": 368,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 14247,
                        "end": 14265,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 17
                          },
                          "end": {
                            "line": 364,
                            "column": 35
                          }
                        },
                        "name": "getAffectedObjects"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 14266,
                          "end": 14272,
                          "loc": {
                            "start": {
                              "line": 364,
                              "column": 36
                            },
                            "end": {
                              "line": 364,
                              "column": 42
                            }
                          },
                          "name": "object"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 14274,
                        "end": 14445,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 44
                          },
                          "end": {
                            "line": 368,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 14288,
                            "end": 14340,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 12
                              },
                              "end": {
                                "line": 365,
                                "column": 64
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 14292,
                                "end": 14339,
                                "loc": {
                                  "start": {
                                    "line": 365,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 365,
                                    "column": 63
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14292,
                                  "end": 14299,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 23
                                    }
                                  },
                                  "name": "objects"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 14302,
                                  "end": 14339,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 63
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 14302,
                                    "end": 14331,
                                    "loc": {
                                      "start": {
                                        "line": 365,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 365,
                                        "column": 55
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 14302,
                                      "end": 14308,
                                      "loc": {
                                        "start": {
                                          "line": 365,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 365,
                                          "column": 32
                                        }
                                      },
                                      "name": "Sketch"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14309,
                                      "end": 14331,
                                      "loc": {
                                        "start": {
                                          "line": 365,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 365,
                                          "column": 55
                                        }
                                      },
                                      "name": "ForObjectsWithChildren"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 14332,
                                      "end": 14338,
                                      "loc": {
                                        "start": {
                                          "line": 365,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 365,
                                          "column": 62
                                        }
                                      },
                                      "name": "object"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14353,
                            "end": 14407,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 12
                              },
                              "end": {
                                "line": 366,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14353,
                              "end": 14406,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 12
                                },
                                "end": {
                                  "line": 366,
                                  "column": 65
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 14353,
                                "end": 14360,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 19
                                  }
                                },
                                "name": "objects"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 14363,
                                "end": 14406,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 65
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14363,
                                  "end": 14377,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 14363,
                                    "end": 14370,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 29
                                      }
                                    },
                                    "name": "objects"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14371,
                                    "end": 14377,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 36
                                      }
                                    },
                                    "name": "filter"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 14378,
                                    "end": 14405,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 64
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 14378,
                                        "end": 14381,
                                        "loc": {
                                          "start": {
                                            "line": 366,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 366,
                                            "column": 40
                                          }
                                        },
                                        "name": "arg"
                                      }
                                    ],
                                    "body": {
                                      "type": "BinaryExpression",
                                      "start": 14385,
                                      "end": 14405,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 64
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 14385,
                                        "end": 14388,
                                        "loc": {
                                          "start": {
                                            "line": 366,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 366,
                                            "column": 47
                                          }
                                        },
                                        "name": "arg"
                                      },
                                      "operator": "instanceof",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 14400,
                                        "end": 14405,
                                        "loc": {
                                          "start": {
                                            "line": 366,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 366,
                                            "column": 64
                                          }
                                        },
                                        "name": "Point"
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 14420,
                            "end": 14435,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 12
                              },
                              "end": {
                                "line": 367,
                                "column": 27
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 14427,
                              "end": 14434,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 19
                                },
                                "end": {
                                  "line": 367,
                                  "column": 26
                                }
                              },
                              "name": "objects"
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 14455,
                      "end": 14499,
                      "loc": {
                        "start": {
                          "line": 370,
                          "column": 8
                        },
                        "end": {
                          "line": 371,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 14459,
                        "end": 14478,
                        "loc": {
                          "start": {
                            "line": 370,
                            "column": 12
                          },
                          "end": {
                            "line": 370,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 14460,
                          "end": 14478,
                          "loc": {
                            "start": {
                              "line": 370,
                              "column": 13
                            },
                            "end": {
                              "line": 370,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14460,
                            "end": 14464,
                            "loc": {
                              "start": {
                                "line": 370,
                                "column": 13
                              },
                              "end": {
                                "line": 370,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14465,
                            "end": 14478,
                            "loc": {
                              "start": {
                                "line": 370,
                                "column": 18
                              },
                              "end": {
                                "line": 370,
                                "column": 31
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 14492,
                        "end": 14499,
                        "loc": {
                          "start": {
                            "line": 371,
                            "column": 12
                          },
                          "end": {
                            "line": 371,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 14509,
                      "end": 14550,
                      "loc": {
                        "start": {
                          "line": 373,
                          "column": 8
                        },
                        "end": {
                          "line": 373,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 14513,
                          "end": 14549,
                          "loc": {
                            "start": {
                              "line": 373,
                              "column": 12
                            },
                            "end": {
                              "line": 373,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 14513,
                            "end": 14520,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 12
                              },
                              "end": {
                                "line": 373,
                                "column": 19
                              }
                            },
                            "name": "objects"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 14523,
                            "end": 14549,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 22
                              },
                              "end": {
                                "line": 373,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 14523,
                              "end": 14541,
                              "loc": {
                                "start": {
                                  "line": 373,
                                  "column": 22
                                },
                                "end": {
                                  "line": 373,
                                  "column": 40
                                }
                              },
                              "name": "getAffectedObjects"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 14542,
                                "end": 14548,
                                "loc": {
                                  "start": {
                                    "line": 373,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 373,
                                    "column": 47
                                  }
                                },
                                "name": "object"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 14560,
                      "end": 14607,
                      "loc": {
                        "start": {
                          "line": 375,
                          "column": 8
                        },
                        "end": {
                          "line": 375,
                          "column": 55
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 14564,
                        "end": 14598,
                        "loc": {
                          "start": {
                            "line": 375,
                            "column": 12
                          },
                          "end": {
                            "line": 375,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 14564,
                          "end": 14582,
                          "loc": {
                            "start": {
                              "line": 375,
                              "column": 12
                            },
                            "end": {
                              "line": 375,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14564,
                            "end": 14568,
                            "loc": {
                              "start": {
                                "line": 375,
                                "column": 12
                              },
                              "end": {
                                "line": 375,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14569,
                            "end": 14582,
                            "loc": {
                              "start": {
                                "line": 375,
                                "column": 17
                              },
                              "end": {
                                "line": 375,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 14583,
                          "end": 14598,
                          "loc": {
                            "start": {
                              "line": 375,
                              "column": 31
                            },
                            "end": {
                              "line": 375,
                              "column": 46
                            }
                          },
                          "name": "solveInProgress"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 14600,
                        "end": 14607,
                        "loc": {
                          "start": {
                            "line": 375,
                            "column": 48
                          },
                          "end": {
                            "line": 375,
                            "column": 55
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14616,
                      "end": 14658,
                      "loc": {
                        "start": {
                          "line": 376,
                          "column": 8
                        },
                        "end": {
                          "line": 376,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14616,
                        "end": 14657,
                        "loc": {
                          "start": {
                            "line": 376,
                            "column": 8
                          },
                          "end": {
                            "line": 376,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14616,
                          "end": 14650,
                          "loc": {
                            "start": {
                              "line": 376,
                              "column": 8
                            },
                            "end": {
                              "line": 376,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14616,
                            "end": 14634,
                            "loc": {
                              "start": {
                                "line": 376,
                                "column": 8
                              },
                              "end": {
                                "line": 376,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14616,
                              "end": 14620,
                              "loc": {
                                "start": {
                                  "line": 376,
                                  "column": 8
                                },
                                "end": {
                                  "line": 376,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14621,
                              "end": 14634,
                              "loc": {
                                "start": {
                                  "line": 376,
                                  "column": 13
                                },
                                "end": {
                                  "line": 376,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14635,
                            "end": 14650,
                            "loc": {
                              "start": {
                                "line": 376,
                                "column": 27
                              },
                              "end": {
                                "line": 376,
                                "column": 42
                              }
                            },
                            "name": "solveInProgress"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 14653,
                          "end": 14657,
                          "loc": {
                            "start": {
                              "line": 376,
                              "column": 45
                            },
                            "end": {
                              "line": 376,
                              "column": 49
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " hack: prevent multiple concurrent requests to the server",
                          "start": 14659,
                          "end": 14718,
                          "loc": {
                            "start": {
                              "line": 376,
                              "column": 51
                            },
                            "end": {
                              "line": 376,
                              "column": 110
                            }
                          },
                          "range": [
                            14659,
                            14718
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14728,
                      "end": 14757,
                      "loc": {
                        "start": {
                          "line": 378,
                          "column": 8
                        },
                        "end": {
                          "line": 378,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 14728,
                        "end": 14756,
                        "loc": {
                          "start": {
                            "line": 378,
                            "column": 8
                          },
                          "end": {
                            "line": 378,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 14728,
                          "end": 14750,
                          "loc": {
                            "start": {
                              "line": 378,
                              "column": 8
                            },
                            "end": {
                              "line": 378,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14728,
                            "end": 14745,
                            "loc": {
                              "start": {
                                "line": 378,
                                "column": 8
                              },
                              "end": {
                                "line": 378,
                                "column": 25
                              }
                            },
                            "name": "updateMouseStates",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14746,
                            "end": 14750,
                            "loc": {
                              "start": {
                                "line": 378,
                                "column": 26
                              },
                              "end": {
                                "line": 378,
                                "column": 30
                              }
                            },
                            "name": "call"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 14751,
                            "end": 14755,
                            "loc": {
                              "start": {
                                "line": 378,
                                "column": 31
                              },
                              "end": {
                                "line": 378,
                                "column": 35
                              }
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " hack: prevent multiple concurrent requests to the server",
                          "start": 14659,
                          "end": 14718,
                          "loc": {
                            "start": {
                              "line": 376,
                              "column": 51
                            },
                            "end": {
                              "line": 376,
                              "column": 110
                            }
                          },
                          "range": [
                            14659,
                            14718
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 14766,
                      "end": 14835,
                      "loc": {
                        "start": {
                          "line": 379,
                          "column": 8
                        },
                        "end": {
                          "line": 379,
                          "column": 77
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 14770,
                          "end": 14834,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 12
                            },
                            "end": {
                              "line": 379,
                              "column": 76
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 14770,
                            "end": 14779,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 12
                              },
                              "end": {
                                "line": 379,
                                "column": 21
                              }
                            },
                            "name": "mouseDiff"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 14782,
                            "end": 14834,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 24
                              },
                              "end": {
                                "line": 379,
                                "column": 76
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 14782,
                              "end": 14813,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 24
                                },
                                "end": {
                                  "line": 379,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 14782,
                                "end": 14809,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14782,
                                  "end": 14807,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14782,
                                    "end": 14801,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 14782,
                                      "end": 14798,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14782,
                                        "end": 14786,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14787,
                                        "end": 14798,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 40
                                          }
                                        },
                                        "name": "mouseStates"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Literal",
                                      "start": 14799,
                                      "end": 14800,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 42
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14802,
                                    "end": 14807,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 49
                                      }
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14810,
                                "end": 14813,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 55
                                  }
                                },
                                "name": "sub"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 14814,
                                "end": 14833,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14814,
                                  "end": 14830,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14814,
                                    "end": 14818,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 60
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14819,
                                    "end": 14830,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 72
                                      }
                                    },
                                    "name": "mouseStates"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 14831,
                                  "end": 14832,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 74
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "computed": true
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 14844,
                      "end": 15613,
                      "loc": {
                        "start": {
                          "line": 380,
                          "column": 8
                        },
                        "end": {
                          "line": 397,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14848,
                        "end": 14872,
                        "loc": {
                          "start": {
                            "line": 380,
                            "column": 12
                          },
                          "end": {
                            "line": 380,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 14848,
                          "end": 14866,
                          "loc": {
                            "start": {
                              "line": 380,
                              "column": 12
                            },
                            "end": {
                              "line": 380,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 14848,
                            "end": 14864,
                            "loc": {
                              "start": {
                                "line": 380,
                                "column": 12
                              },
                              "end": {
                                "line": 380,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14848,
                              "end": 14857,
                              "loc": {
                                "start": {
                                  "line": 380,
                                  "column": 12
                                },
                                "end": {
                                  "line": 380,
                                  "column": 21
                                }
                              },
                              "name": "mouseDiff"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14858,
                              "end": 14864,
                              "loc": {
                                "start": {
                                  "line": 380,
                                  "column": 22
                                },
                                "end": {
                                  "line": 380,
                                  "column": 28
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 14869,
                          "end": 14872,
                          "loc": {
                            "start": {
                              "line": 380,
                              "column": 33
                            },
                            "end": {
                              "line": 380,
                              "column": 36
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0.0"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14874,
                        "end": 15484,
                        "loc": {
                          "start": {
                            "line": 380,
                            "column": 38
                          },
                          "end": {
                            "line": 393,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 14888,
                            "end": 14949,
                            "loc": {
                              "start": {
                                "line": 381,
                                "column": 12
                              },
                              "end": {
                                "line": 381,
                                "column": 73
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 14892,
                              "end": 14905,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 16
                                },
                                "end": {
                                  "line": 381,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 14892,
                                "end": 14900,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 24
                                  }
                                },
                                "name": "logLevel"
                              },
                              "operator": ">=",
                              "right": {
                                "type": "Literal",
                                "start": 14904,
                                "end": 14905,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 29
                                  }
                                },
                                "value": 5,
                                "rawValue": 5,
                                "raw": "5"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 14907,
                              "end": 14949,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 31
                                },
                                "end": {
                                  "line": 381,
                                  "column": 73
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 14907,
                                "end": 14948,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 72
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14907,
                                  "end": 14918,
                                  "loc": {
                                    "start": {
                                      "line": 381,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 381,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 14907,
                                    "end": 14914,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 38
                                      }
                                    },
                                    "name": "console"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14915,
                                    "end": 14918,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 42
                                      }
                                    },
                                    "name": "log"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 14919,
                                    "end": 14934,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14919,
                                      "end": 14932,
                                      "loc": {
                                        "start": {
                                          "line": 381,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 381,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 14919,
                                        "end": 14928,
                                        "loc": {
                                          "start": {
                                            "line": 381,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 381,
                                            "column": 52
                                          }
                                        },
                                        "name": "Timestamp"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14929,
                                        "end": 14932,
                                        "loc": {
                                          "start": {
                                            "line": 381,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 381,
                                            "column": 56
                                          }
                                        },
                                        "name": "get"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 14936,
                                    "end": 14947,
                                    "loc": {
                                      "start": {
                                        "line": 381,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 381,
                                        "column": 71
                                      }
                                    },
                                    "value": "MUC solve",
                                    "rawValue": "MUC solve",
                                    "raw": "'MUC solve'"
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 14962,
                            "end": 15144,
                            "loc": {
                              "start": {
                                "line": 382,
                                "column": 12
                              },
                              "end": {
                                "line": 384,
                                "column": 57
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 14968,
                                "end": 15143,
                                "loc": {
                                  "start": {
                                    "line": 382,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 384,
                                    "column": 56
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14968,
                                  "end": 14978,
                                  "loc": {
                                    "start": {
                                      "line": 382,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 382,
                                      "column": 28
                                    }
                                  },
                                  "name": "statements"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 14981,
                                  "end": 15143,
                                  "loc": {
                                    "start": {
                                      "line": 382,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 384,
                                      "column": 56
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 14981,
                                    "end": 15104,
                                    "loc": {
                                      "start": {
                                        "line": 382,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 384,
                                        "column": 17
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 14981,
                                      "end": 15100,
                                      "loc": {
                                        "start": {
                                          "line": 382,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 13
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 14981,
                                        "end": 14997,
                                        "loc": {
                                          "start": {
                                            "line": 382,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 382,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 14981,
                                          "end": 14990,
                                          "loc": {
                                            "start": {
                                              "line": 382,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 382,
                                              "column": 40
                                            }
                                          },
                                          "name": "Statement"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14991,
                                          "end": 14997,
                                          "loc": {
                                            "start": {
                                              "line": 382,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 382,
                                              "column": 47
                                            }
                                          },
                                          "name": "Return"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "start": 15015,
                                          "end": 15086,
                                          "loc": {
                                            "start": {
                                              "line": 383,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 383,
                                              "column": 87
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 15015,
                                            "end": 15037,
                                            "loc": {
                                              "start": {
                                                "line": 383,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 383,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15015,
                                              "end": 15025,
                                              "loc": {
                                                "start": {
                                                  "line": 383,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 383,
                                                  "column": 26
                                                }
                                              },
                                              "name": "Expression"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15026,
                                              "end": 15037,
                                              "loc": {
                                                "start": {
                                                  "line": 383,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 383,
                                                  "column": 38
                                                }
                                              },
                                              "name": "MoveObjects"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 15038,
                                              "end": 15056,
                                              "loc": {
                                                "start": {
                                                  "line": 383,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 383,
                                                  "column": 57
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 15038,
                                                "end": 15042,
                                                "loc": {
                                                  "start": {
                                                    "line": 383,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 383,
                                                    "column": 43
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 15043,
                                                "end": 15056,
                                                "loc": {
                                                  "start": {
                                                    "line": 383,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 383,
                                                    "column": 57
                                                  }
                                                },
                                                "name": "currentSketch"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 15058,
                                              "end": 15074,
                                              "loc": {
                                                "start": {
                                                  "line": 383,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 383,
                                                  "column": 75
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 15058,
                                                "end": 15062,
                                                "loc": {
                                                  "start": {
                                                    "line": 383,
                                                    "column": 59
                                                  },
                                                  "end": {
                                                    "line": 383,
                                                    "column": 63
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 15063,
                                                "end": 15074,
                                                "loc": {
                                                  "start": {
                                                    "line": 383,
                                                    "column": 64
                                                  },
                                                  "end": {
                                                    "line": 383,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "movedObject"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 15076,
                                              "end": 15085,
                                              "loc": {
                                                "start": {
                                                  "line": 383,
                                                  "column": 77
                                                },
                                                "end": {
                                                  "line": 383,
                                                  "column": 86
                                                }
                                              },
                                              "name": "mouseDiff"
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15101,
                                      "end": 15104,
                                      "loc": {
                                        "start": {
                                          "line": 384,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 17
                                        }
                                      },
                                      "name": "and"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 15105,
                                      "end": 15142,
                                      "loc": {
                                        "start": {
                                          "line": 384,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 384,
                                          "column": 55
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15105,
                                        "end": 15140,
                                        "loc": {
                                          "start": {
                                            "line": 384,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 384,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15105,
                                          "end": 15123,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15105,
                                            "end": 15109,
                                            "loc": {
                                              "start": {
                                                "line": 384,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 384,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15110,
                                            "end": 15123,
                                            "loc": {
                                              "start": {
                                                "line": 384,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 384,
                                                "column": 36
                                              }
                                            },
                                            "name": "currentSketch"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15124,
                                          "end": 15140,
                                          "loc": {
                                            "start": {
                                              "line": 384,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 384,
                                              "column": 53
                                            }
                                          },
                                          "name": "updateFromServer"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "const"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 15157,
                            "end": 15445,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 12
                              },
                              "end": {
                                "line": 391,
                                "column": 15
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 15163,
                                "end": 15444,
                                "loc": {
                                  "start": {
                                    "line": 385,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 391,
                                    "column": 14
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 15163,
                                  "end": 15164,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 385,
                                      "column": 19
                                    }
                                  },
                                  "name": "p"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 15167,
                                  "end": 15444,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 391,
                                      "column": 14
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 15167,
                                    "end": 15361,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 389,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 15167,
                                      "end": 15355,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 389,
                                          "column": 14
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15167,
                                        "end": 15216,
                                        "loc": {
                                          "start": {
                                            "line": 385,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 386,
                                            "column": 17
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 15167,
                                          "end": 15198,
                                          "loc": {
                                            "start": {
                                              "line": 385,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 385,
                                              "column": 53
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 15167,
                                            "end": 15185,
                                            "loc": {
                                              "start": {
                                                "line": 385,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 385,
                                                "column": 40
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 15167,
                                              "end": 15177,
                                              "loc": {
                                                "start": {
                                                  "line": 385,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 385,
                                                  "column": 32
                                                }
                                              },
                                              "name": "statements"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 15178,
                                              "end": 15185,
                                              "loc": {
                                                "start": {
                                                  "line": 385,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 385,
                                                  "column": 40
                                                }
                                              },
                                              "name": "execute"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 15186,
                                              "end": 15197,
                                              "loc": {
                                                "start": {
                                                  "line": 385,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 385,
                                                  "column": 52
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 15186,
                                                "end": 15190,
                                                "loc": {
                                                  "start": {
                                                    "line": 385,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 385,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 15191,
                                                "end": 15197,
                                                "loc": {
                                                  "start": {
                                                    "line": 385,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 385,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "socket"
                                              },
                                              "computed": false
                                            }
                                          ]
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15212,
                                          "end": 15216,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 386,
                                              "column": 17
                                            }
                                          },
                                          "name": "then"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "ArrowFunctionExpression",
                                          "start": 15217,
                                          "end": 15354,
                                          "loc": {
                                            "start": {
                                              "line": 386,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 389,
                                              "column": 13
                                            }
                                          },
                                          "id": null,
                                          "generator": false,
                                          "expression": false,
                                          "async": false,
                                          "params": [],
                                          "body": {
                                            "type": "BlockStatement",
                                            "start": 15223,
                                            "end": 15354,
                                            "loc": {
                                              "start": {
                                                "line": 386,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 389,
                                                "column": 13
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 15241,
                                                "end": 15280,
                                                "loc": {
                                                  "start": {
                                                    "line": 387,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 387,
                                                    "column": 55
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 15241,
                                                  "end": 15279,
                                                  "loc": {
                                                    "start": {
                                                      "line": 387,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 387,
                                                      "column": 54
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 15241,
                                                    "end": 15264,
                                                    "loc": {
                                                      "start": {
                                                        "line": 387,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 387,
                                                        "column": 39
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 15241,
                                                      "end": 15259,
                                                      "loc": {
                                                        "start": {
                                                          "line": 387,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 387,
                                                          "column": 34
                                                        }
                                                      },
                                                      "name": "updateSketchStates"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 15260,
                                                      "end": 15264,
                                                      "loc": {
                                                        "start": {
                                                          "line": 387,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 387,
                                                          "column": 39
                                                        }
                                                      },
                                                      "name": "call"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "ThisExpression",
                                                      "start": 15265,
                                                      "end": 15269,
                                                      "loc": {
                                                        "start": {
                                                          "line": 387,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 387,
                                                          "column": 44
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 15271,
                                                      "end": 15278,
                                                      "loc": {
                                                        "start": {
                                                          "line": 387,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 387,
                                                          "column": 53
                                                        }
                                                      },
                                                      "name": "objects"
                                                    }
                                                  ]
                                                }
                                              },
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 15297,
                                                "end": 15340,
                                                "loc": {
                                                  "start": {
                                                    "line": 388,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 388,
                                                    "column": 59
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 15297,
                                                  "end": 15339,
                                                  "loc": {
                                                    "start": {
                                                      "line": 388,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 388,
                                                      "column": 58
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 15297,
                                                    "end": 15331,
                                                    "loc": {
                                                      "start": {
                                                        "line": 388,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 388,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 15297,
                                                      "end": 15315,
                                                      "loc": {
                                                        "start": {
                                                          "line": 388,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 388,
                                                          "column": 34
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 15297,
                                                        "end": 15301,
                                                        "loc": {
                                                          "start": {
                                                            "line": 388,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 388,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 15302,
                                                        "end": 15315,
                                                        "loc": {
                                                          "start": {
                                                            "line": 388,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 388,
                                                            "column": 34
                                                          }
                                                        },
                                                        "name": "currentSketch"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 15316,
                                                      "end": 15331,
                                                      "loc": {
                                                        "start": {
                                                          "line": 388,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 388,
                                                          "column": 50
                                                        }
                                                      },
                                                      "name": "solveInProgress"
                                                    },
                                                    "computed": false
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "start": 15334,
                                                    "end": 15339,
                                                    "loc": {
                                                      "start": {
                                                        "line": 388,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 388,
                                                        "column": 58
                                                      }
                                                    },
                                                    "value": false,
                                                    "rawValue": false,
                                                    "raw": "false"
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15356,
                                      "end": 15361,
                                      "loc": {
                                        "start": {
                                          "line": 389,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 389,
                                          "column": 20
                                        }
                                      },
                                      "name": "catch"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 15362,
                                      "end": 15443,
                                      "loc": {
                                        "start": {
                                          "line": 389,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 391,
                                          "column": 13
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 15368,
                                        "end": 15443,
                                        "loc": {
                                          "start": {
                                            "line": 389,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 391,
                                            "column": 13
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 15386,
                                            "end": 15429,
                                            "loc": {
                                              "start": {
                                                "line": 390,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 390,
                                                "column": 59
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 15386,
                                              "end": 15428,
                                              "loc": {
                                                "start": {
                                                  "line": 390,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 390,
                                                  "column": 58
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 15386,
                                                "end": 15420,
                                                "loc": {
                                                  "start": {
                                                    "line": 390,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 390,
                                                    "column": 50
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 15386,
                                                  "end": 15404,
                                                  "loc": {
                                                    "start": {
                                                      "line": 390,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 390,
                                                      "column": 34
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 15386,
                                                    "end": 15390,
                                                    "loc": {
                                                      "start": {
                                                        "line": 390,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 390,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 15391,
                                                    "end": 15404,
                                                    "loc": {
                                                      "start": {
                                                        "line": 390,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 390,
                                                        "column": 34
                                                      }
                                                    },
                                                    "name": "currentSketch"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 15405,
                                                  "end": 15420,
                                                  "loc": {
                                                    "start": {
                                                      "line": 390,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 390,
                                                      "column": 50
                                                    }
                                                  },
                                                  "name": "solveInProgress"
                                                },
                                                "computed": false
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "start": 15423,
                                                "end": 15428,
                                                "loc": {
                                                  "start": {
                                                    "line": 390,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 390,
                                                    "column": 58
                                                  }
                                                },
                                                "value": false,
                                                "rawValue": false,
                                                "raw": "false"
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "const"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15458,
                            "end": 15474,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 12
                              },
                              "end": {
                                "line": 392,
                                "column": 28
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15458,
                              "end": 15473,
                              "loc": {
                                "start": {
                                  "line": 392,
                                  "column": 12
                                },
                                "end": {
                                  "line": 392,
                                  "column": 27
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 15458,
                                "end": 15470,
                                "loc": {
                                  "start": {
                                    "line": 392,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 392,
                                    "column": 24
                                  }
                                },
                                "name": "trackPromise"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 15471,
                                  "end": 15472,
                                  "loc": {
                                    "start": {
                                      "line": 392,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 392,
                                      "column": 26
                                    }
                                  },
                                  "name": "p"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 15498,
                        "end": 15613,
                        "loc": {
                          "start": {
                            "line": 394,
                            "column": 13
                          },
                          "end": {
                            "line": 397,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 15560,
                            "end": 15603,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 12
                              },
                              "end": {
                                "line": 396,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 15560,
                              "end": 15602,
                              "loc": {
                                "start": {
                                  "line": 396,
                                  "column": 12
                                },
                                "end": {
                                  "line": 396,
                                  "column": 54
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 15560,
                                "end": 15594,
                                "loc": {
                                  "start": {
                                    "line": 396,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 396,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15560,
                                  "end": 15578,
                                  "loc": {
                                    "start": {
                                      "line": 396,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 396,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15560,
                                    "end": 15564,
                                    "loc": {
                                      "start": {
                                        "line": 396,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 396,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15565,
                                    "end": 15578,
                                    "loc": {
                                      "start": {
                                        "line": 396,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 396,
                                        "column": 30
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15579,
                                  "end": 15594,
                                  "loc": {
                                    "start": {
                                      "line": 396,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 396,
                                      "column": 46
                                    }
                                  },
                                  "name": "solveInProgress"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "Literal",
                                "start": 15597,
                                "end": 15602,
                                "loc": {
                                  "start": {
                                    "line": 396,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 396,
                                    "column": 54
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "avoid doing anything on null drag",
                                "start": 15512,
                                "end": 15547,
                                "loc": {
                                  "start": {
                                    "line": 395,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 395,
                                    "column": 47
                                  }
                                },
                                "range": [
                                  15512,
                                  15547
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15626,
              "end": 16054,
              "loc": {
                "start": {
                  "line": 401,
                  "column": 4
                },
                "end": {
                  "line": 407,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15626,
                "end": 15635,
                "loc": {
                  "start": {
                    "line": 401,
                    "column": 4
                  },
                  "end": {
                    "line": 401,
                    "column": 13
                  }
                },
                "name": "newSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15635,
                "end": 16054,
                "loc": {
                  "start": {
                    "line": 401,
                    "column": 13
                  },
                  "end": {
                    "line": 407,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 15636,
                    "end": 15644,
                    "loc": {
                      "start": {
                        "line": 401,
                        "column": 14
                      },
                      "end": {
                        "line": 401,
                        "column": 22
                      }
                    },
                    "name": "position"
                  },
                  {
                    "type": "Identifier",
                    "start": 15646,
                    "end": 15656,
                    "loc": {
                      "start": {
                        "line": 401,
                        "column": 24
                      },
                      "end": {
                        "line": 401,
                        "column": 34
                      }
                    },
                    "name": "quaternion"
                  },
                  {
                    "type": "Identifier",
                    "start": 15658,
                    "end": 15662,
                    "loc": {
                      "start": {
                        "line": 401,
                        "column": 36
                      },
                      "end": {
                        "line": 401,
                        "column": 40
                      }
                    },
                    "name": "item"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15664,
                  "end": 16054,
                  "loc": {
                    "start": {
                      "line": 401,
                      "column": 42
                    },
                    "end": {
                      "line": 407,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 15674,
                      "end": 15771,
                      "loc": {
                        "start": {
                          "line": 402,
                          "column": 8
                        },
                        "end": {
                          "line": 402,
                          "column": 105
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15678,
                          "end": 15770,
                          "loc": {
                            "start": {
                              "line": 402,
                              "column": 12
                            },
                            "end": {
                              "line": 402,
                              "column": 104
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15678,
                            "end": 15683,
                            "loc": {
                              "start": {
                                "line": 402,
                                "column": 12
                              },
                              "end": {
                                "line": 402,
                                "column": 17
                              }
                            },
                            "name": "coSys"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 15686,
                            "end": 15770,
                            "loc": {
                              "start": {
                                "line": 402,
                                "column": 20
                              },
                              "end": {
                                "line": 402,
                                "column": 104
                              }
                            },
                            "elements": [
                              {
                                "type": "NewExpression",
                                "start": 15687,
                                "end": 15713,
                                "loc": {
                                  "start": {
                                    "line": 402,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 402,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15691,
                                  "end": 15704,
                                  "loc": {
                                    "start": {
                                      "line": 402,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 402,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15691,
                                    "end": 15696,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 30
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15697,
                                    "end": 15704,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 38
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 15705,
                                    "end": 15706,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 40
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15708,
                                    "end": 15709,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 43
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15711,
                                    "end": 15712,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 46
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "NewExpression",
                                "start": 15715,
                                "end": 15741,
                                "loc": {
                                  "start": {
                                    "line": 402,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 402,
                                    "column": 75
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15719,
                                  "end": 15732,
                                  "loc": {
                                    "start": {
                                      "line": 402,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 402,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15719,
                                    "end": 15724,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 58
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15725,
                                    "end": 15732,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 66
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 15733,
                                    "end": 15734,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 68
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15736,
                                    "end": 15737,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 71
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15739,
                                    "end": 15740,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 74
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              {
                                "type": "NewExpression",
                                "start": 15743,
                                "end": 15769,
                                "loc": {
                                  "start": {
                                    "line": 402,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 402,
                                    "column": 103
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15747,
                                  "end": 15760,
                                  "loc": {
                                    "start": {
                                      "line": 402,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 402,
                                      "column": 94
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15747,
                                    "end": 15752,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 86
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15753,
                                    "end": 15760,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 87
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 94
                                      }
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 15761,
                                    "end": 15762,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 95
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 96
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15764,
                                    "end": 15765,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 99
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  {
                                    "type": "Literal",
                                    "start": 15767,
                                    "end": 15768,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 101
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 102
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15780,
                      "end": 15836,
                      "loc": {
                        "start": {
                          "line": 403,
                          "column": 8
                        },
                        "end": {
                          "line": 403,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15780,
                        "end": 15835,
                        "loc": {
                          "start": {
                            "line": 403,
                            "column": 8
                          },
                          "end": {
                            "line": 403,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15780,
                          "end": 15793,
                          "loc": {
                            "start": {
                              "line": 403,
                              "column": 8
                            },
                            "end": {
                              "line": 403,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 15780,
                            "end": 15785,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 8
                              },
                              "end": {
                                "line": 403,
                                "column": 13
                              }
                            },
                            "name": "coSys"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15786,
                            "end": 15793,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 14
                              },
                              "end": {
                                "line": 403,
                                "column": 21
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 15794,
                            "end": 15834,
                            "loc": {
                              "start": {
                                "line": 403,
                                "column": 22
                              },
                              "end": {
                                "line": 403,
                                "column": 62
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 15794,
                                "end": 15798,
                                "loc": {
                                  "start": {
                                    "line": 403,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 403,
                                    "column": 26
                                  }
                                },
                                "name": "axis"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 15802,
                              "end": 15834,
                              "loc": {
                                "start": {
                                  "line": 403,
                                  "column": 30
                                },
                                "end": {
                                  "line": 403,
                                  "column": 62
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15802,
                                "end": 15822,
                                "loc": {
                                  "start": {
                                    "line": 403,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 403,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 15802,
                                  "end": 15806,
                                  "loc": {
                                    "start": {
                                      "line": 403,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 403,
                                      "column": 34
                                    }
                                  },
                                  "name": "axis"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15807,
                                  "end": 15822,
                                  "loc": {
                                    "start": {
                                      "line": 403,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 403,
                                      "column": 50
                                    }
                                  },
                                  "name": "applyQuaternion"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 15823,
                                  "end": 15833,
                                  "loc": {
                                    "start": {
                                      "line": 403,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 403,
                                      "column": 61
                                    }
                                  },
                                  "name": "quaternion"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15845,
                      "end": 15869,
                      "loc": {
                        "start": {
                          "line": 404,
                          "column": 8
                        },
                        "end": {
                          "line": 404,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 15845,
                        "end": 15868,
                        "loc": {
                          "start": {
                            "line": 404,
                            "column": 8
                          },
                          "end": {
                            "line": 404,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15845,
                          "end": 15858,
                          "loc": {
                            "start": {
                              "line": 404,
                              "column": 8
                            },
                            "end": {
                              "line": 404,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 15845,
                            "end": 15850,
                            "loc": {
                              "start": {
                                "line": 404,
                                "column": 8
                              },
                              "end": {
                                "line": 404,
                                "column": 13
                              }
                            },
                            "name": "coSys"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15851,
                            "end": 15858,
                            "loc": {
                              "start": {
                                "line": 404,
                                "column": 14
                              },
                              "end": {
                                "line": 404,
                                "column": 21
                              }
                            },
                            "name": "unshift"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 15859,
                            "end": 15867,
                            "loc": {
                              "start": {
                                "line": 404,
                                "column": 22
                              },
                              "end": {
                                "line": 404,
                                "column": 30
                              }
                            },
                            "name": "position"
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 15878,
                      "end": 15923,
                      "loc": {
                        "start": {
                          "line": 405,
                          "column": 8
                        },
                        "end": {
                          "line": 405,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15882,
                          "end": 15922,
                          "loc": {
                            "start": {
                              "line": 405,
                              "column": 12
                            },
                            "end": {
                              "line": 405,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15882,
                            "end": 15891,
                            "loc": {
                              "start": {
                                "line": 405,
                                "column": 12
                              },
                              "end": {
                                "line": 405,
                                "column": 21
                              }
                            },
                            "name": "sketchSet"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 15894,
                            "end": 15922,
                            "loc": {
                              "start": {
                                "line": 405,
                                "column": 24
                              },
                              "end": {
                                "line": 405,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15894,
                              "end": 15916,
                              "loc": {
                                "start": {
                                  "line": 405,
                                  "column": 24
                                },
                                "end": {
                                  "line": 405,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 15894,
                                "end": 15900,
                                "loc": {
                                  "start": {
                                    "line": 405,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 405,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15901,
                                "end": 15916,
                                "loc": {
                                  "start": {
                                    "line": 405,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 405,
                                    "column": 46
                                  }
                                },
                                "name": "FindSketchSetOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 15917,
                                "end": 15921,
                                "loc": {
                                  "start": {
                                    "line": 405,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 405,
                                    "column": 51
                                  }
                                },
                                "name": "item"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15932,
                      "end": 16048,
                      "loc": {
                        "start": {
                          "line": 406,
                          "column": 8
                        },
                        "end": {
                          "line": 406,
                          "column": 124
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 15939,
                        "end": 16047,
                        "loc": {
                          "start": {
                            "line": 406,
                            "column": 15
                          },
                          "end": {
                            "line": 406,
                            "column": 123
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 15939,
                          "end": 16034,
                          "loc": {
                            "start": {
                              "line": 406,
                              "column": 15
                            },
                            "end": {
                              "line": 406,
                              "column": 110
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 15939,
                            "end": 16026,
                            "loc": {
                              "start": {
                                "line": 406,
                                "column": 15
                              },
                              "end": {
                                "line": 406,
                                "column": 102
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15939,
                              "end": 15999,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 15
                                },
                                "end": {
                                  "line": 406,
                                  "column": 75
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 15939,
                                "end": 15994,
                                "loc": {
                                  "start": {
                                    "line": 406,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 406,
                                    "column": 70
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15939,
                                  "end": 15959,
                                  "loc": {
                                    "start": {
                                      "line": 406,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 406,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15939,
                                    "end": 15948,
                                    "loc": {
                                      "start": {
                                        "line": 406,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 406,
                                        "column": 24
                                      }
                                    },
                                    "name": "Statement"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15949,
                                    "end": 15959,
                                    "loc": {
                                      "start": {
                                        "line": 406,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 406,
                                        "column": 35
                                      }
                                    },
                                    "name": "JSONExport"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 15960,
                                    "end": 15993,
                                    "loc": {
                                      "start": {
                                        "line": 406,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 406,
                                        "column": 69
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 15960,
                                      "end": 15980,
                                      "loc": {
                                        "start": {
                                          "line": 406,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 406,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 15960,
                                        "end": 15970,
                                        "loc": {
                                          "start": {
                                            "line": 406,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 406,
                                            "column": 46
                                          }
                                        },
                                        "name": "Expression"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15971,
                                        "end": 15980,
                                        "loc": {
                                          "start": {
                                            "line": 406,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 406,
                                            "column": 56
                                          }
                                        },
                                        "name": "AddSketch"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 15981,
                                        "end": 15985,
                                        "loc": {
                                          "start": {
                                            "line": 406,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 406,
                                            "column": 61
                                          }
                                        },
                                        "name": "item"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 15987,
                                        "end": 15992,
                                        "loc": {
                                          "start": {
                                            "line": 406,
                                            "column": 63
                                          },
                                          "end": {
                                            "line": 406,
                                            "column": 68
                                          }
                                        },
                                        "name": "coSys"
                                      }
                                    ]
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15995,
                                "end": 15999,
                                "loc": {
                                  "start": {
                                    "line": 406,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 406,
                                    "column": 75
                                  }
                                },
                                "name": "then"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 16000,
                                "end": 16025,
                                "loc": {
                                  "start": {
                                    "line": 406,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 406,
                                    "column": 101
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 16000,
                                  "end": 16014,
                                  "loc": {
                                    "start": {
                                      "line": 406,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 406,
                                      "column": 90
                                    }
                                  },
                                  "name": "parseToChildOf"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 16015,
                                    "end": 16024,
                                    "loc": {
                                      "start": {
                                        "line": 406,
                                        "column": 91
                                      },
                                      "end": {
                                        "line": 406,
                                        "column": 100
                                      }
                                    },
                                    "name": "sketchSet"
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16027,
                            "end": 16034,
                            "loc": {
                              "start": {
                                "line": 406,
                                "column": 103
                              },
                              "end": {
                                "line": 406,
                                "column": 110
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 16035,
                            "end": 16046,
                            "loc": {
                              "start": {
                                "line": 406,
                                "column": 111
                              },
                              "end": {
                                "line": 406,
                                "column": 122
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16035,
                              "end": 16039,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 111
                                },
                                "end": {
                                  "line": 406,
                                  "column": 115
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16040,
                              "end": 16046,
                              "loc": {
                                "start": {
                                  "line": 406,
                                  "column": 116
                                },
                                "end": {
                                  "line": 406,
                                  "column": 122
                                }
                              },
                              "name": "socket"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16060,
              "end": 16276,
              "loc": {
                "start": {
                  "line": 409,
                  "column": 4
                },
                "end": {
                  "line": 412,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16060,
                "end": 16078,
                "loc": {
                  "start": {
                    "line": 409,
                    "column": 4
                  },
                  "end": {
                    "line": 409,
                    "column": 22
                  }
                },
                "name": "newSketchFromPlane"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16078,
                "end": 16276,
                "loc": {
                  "start": {
                    "line": 409,
                    "column": 22
                  },
                  "end": {
                    "line": 412,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16079,
                    "end": 16084,
                    "loc": {
                      "start": {
                        "line": 409,
                        "column": 23
                      },
                      "end": {
                        "line": 409,
                        "column": 28
                      }
                    },
                    "name": "plane"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16086,
                  "end": 16276,
                  "loc": {
                    "start": {
                      "line": 409,
                      "column": 30
                    },
                    "end": {
                      "line": 412,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 16096,
                      "end": 16142,
                      "loc": {
                        "start": {
                          "line": 410,
                          "column": 8
                        },
                        "end": {
                          "line": 410,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16100,
                          "end": 16141,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 12
                            },
                            "end": {
                              "line": 410,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16100,
                            "end": 16109,
                            "loc": {
                              "start": {
                                "line": 410,
                                "column": 12
                              },
                              "end": {
                                "line": 410,
                                "column": 21
                              }
                            },
                            "name": "sketchSet"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 16112,
                            "end": 16141,
                            "loc": {
                              "start": {
                                "line": 410,
                                "column": 24
                              },
                              "end": {
                                "line": 410,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16112,
                              "end": 16134,
                              "loc": {
                                "start": {
                                  "line": 410,
                                  "column": 24
                                },
                                "end": {
                                  "line": 410,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16112,
                                "end": 16118,
                                "loc": {
                                  "start": {
                                    "line": 410,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 410,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16119,
                                "end": 16134,
                                "loc": {
                                  "start": {
                                    "line": 410,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 410,
                                    "column": 46
                                  }
                                },
                                "name": "FindSketchSetOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 16135,
                                "end": 16140,
                                "loc": {
                                  "start": {
                                    "line": 410,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 410,
                                    "column": 52
                                  }
                                },
                                "name": "plane"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 16151,
                      "end": 16270,
                      "loc": {
                        "start": {
                          "line": 411,
                          "column": 8
                        },
                        "end": {
                          "line": 411,
                          "column": 127
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 16158,
                        "end": 16269,
                        "loc": {
                          "start": {
                            "line": 411,
                            "column": 15
                          },
                          "end": {
                            "line": 411,
                            "column": 126
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16158,
                          "end": 16256,
                          "loc": {
                            "start": {
                              "line": 411,
                              "column": 15
                            },
                            "end": {
                              "line": 411,
                              "column": 113
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 16158,
                            "end": 16248,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 15
                              },
                              "end": {
                                "line": 411,
                                "column": 105
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16158,
                              "end": 16221,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 15
                                },
                                "end": {
                                  "line": 411,
                                  "column": 78
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 16158,
                                "end": 16216,
                                "loc": {
                                  "start": {
                                    "line": 411,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 411,
                                    "column": 73
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 16158,
                                  "end": 16178,
                                  "loc": {
                                    "start": {
                                      "line": 411,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 411,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 16158,
                                    "end": 16167,
                                    "loc": {
                                      "start": {
                                        "line": 411,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 411,
                                        "column": 24
                                      }
                                    },
                                    "name": "Statement"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16168,
                                    "end": 16178,
                                    "loc": {
                                      "start": {
                                        "line": 411,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 411,
                                        "column": 35
                                      }
                                    },
                                    "name": "JSONExport"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 16179,
                                    "end": 16215,
                                    "loc": {
                                      "start": {
                                        "line": 411,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 411,
                                        "column": 72
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 16179,
                                      "end": 16208,
                                      "loc": {
                                        "start": {
                                          "line": 411,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 411,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 16179,
                                        "end": 16189,
                                        "loc": {
                                          "start": {
                                            "line": 411,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 411,
                                            "column": 46
                                          }
                                        },
                                        "name": "Expression"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 16190,
                                        "end": 16208,
                                        "loc": {
                                          "start": {
                                            "line": 411,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 411,
                                            "column": 65
                                          }
                                        },
                                        "name": "AddSketchFromPlane"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 16209,
                                        "end": 16214,
                                        "loc": {
                                          "start": {
                                            "line": 411,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 411,
                                            "column": 71
                                          }
                                        },
                                        "name": "plane"
                                      }
                                    ]
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16217,
                                "end": 16221,
                                "loc": {
                                  "start": {
                                    "line": 411,
                                    "column": 74
                                  },
                                  "end": {
                                    "line": 411,
                                    "column": 78
                                  }
                                },
                                "name": "then"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 16222,
                                "end": 16247,
                                "loc": {
                                  "start": {
                                    "line": 411,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 411,
                                    "column": 104
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 16222,
                                  "end": 16236,
                                  "loc": {
                                    "start": {
                                      "line": 411,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 411,
                                      "column": 93
                                    }
                                  },
                                  "name": "parseToChildOf"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 16237,
                                    "end": 16246,
                                    "loc": {
                                      "start": {
                                        "line": 411,
                                        "column": 94
                                      },
                                      "end": {
                                        "line": 411,
                                        "column": 103
                                      }
                                    },
                                    "name": "sketchSet"
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16249,
                            "end": 16256,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 106
                              },
                              "end": {
                                "line": 411,
                                "column": 113
                              }
                            },
                            "name": "execute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 16257,
                            "end": 16268,
                            "loc": {
                              "start": {
                                "line": 411,
                                "column": 114
                              },
                              "end": {
                                "line": 411,
                                "column": 125
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16257,
                              "end": 16261,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 114
                                },
                                "end": {
                                  "line": 411,
                                  "column": 118
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16262,
                              "end": 16268,
                              "loc": {
                                "start": {
                                  "line": 411,
                                  "column": 119
                                },
                                "end": {
                                  "line": 411,
                                  "column": 125
                                }
                              },
                              "name": "socket"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16282,
              "end": 16818,
              "loc": {
                "start": {
                  "line": 414,
                  "column": 4
                },
                "end": {
                  "line": 426,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16282,
                "end": 16294,
                "loc": {
                  "start": {
                    "line": 414,
                    "column": 4
                  },
                  "end": {
                    "line": 414,
                    "column": 16
                  }
                },
                "name": "deleteSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16294,
                "end": 16818,
                "loc": {
                  "start": {
                    "line": 414,
                    "column": 16
                  },
                  "end": {
                    "line": 426,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 16297,
                  "end": 16818,
                  "loc": {
                    "start": {
                      "line": 414,
                      "column": 19
                    },
                    "end": {
                      "line": 426,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 16307,
                      "end": 16422,
                      "loc": {
                        "start": {
                          "line": 415,
                          "column": 8
                        },
                        "end": {
                          "line": 416,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 16311,
                        "end": 16401,
                        "loc": {
                          "start": {
                            "line": 415,
                            "column": 12
                          },
                          "end": {
                            "line": 415,
                            "column": 102
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 16312,
                          "end": 16401,
                          "loc": {
                            "start": {
                              "line": 415,
                              "column": 13
                            },
                            "end": {
                              "line": 415,
                              "column": 102
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 16312,
                            "end": 16319,
                            "loc": {
                              "start": {
                                "line": 415,
                                "column": 13
                              },
                              "end": {
                                "line": 415,
                                "column": 20
                              }
                            },
                            "name": "confirm"
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 16320,
                              "end": 16400,
                              "loc": {
                                "start": {
                                  "line": 415,
                                  "column": 21
                                },
                                "end": {
                                  "line": 415,
                                  "column": 101
                                }
                              },
                              "value": "Do you really want to irreversibly delete current sketch and all its contents?",
                              "rawValue": "Do you really want to irreversibly delete current sketch and all its contents?",
                              "raw": "\"Do you really want to irreversibly delete current sketch and all its contents?\""
                            }
                          ]
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 16415,
                        "end": 16422,
                        "loc": {
                          "start": {
                            "line": 416,
                            "column": 12
                          },
                          "end": {
                            "line": 416,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16431,
                      "end": 16463,
                      "loc": {
                        "start": {
                          "line": 417,
                          "column": 8
                        },
                        "end": {
                          "line": 417,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16435,
                          "end": 16462,
                          "loc": {
                            "start": {
                              "line": 417,
                              "column": 12
                            },
                            "end": {
                              "line": 417,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16435,
                            "end": 16441,
                            "loc": {
                              "start": {
                                "line": 417,
                                "column": 12
                              },
                              "end": {
                                "line": 417,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 16444,
                            "end": 16462,
                            "loc": {
                              "start": {
                                "line": 417,
                                "column": 21
                              },
                              "end": {
                                "line": 417,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 16444,
                              "end": 16448,
                              "loc": {
                                "start": {
                                  "line": 417,
                                  "column": 21
                                },
                                "end": {
                                  "line": 417,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16449,
                              "end": 16462,
                              "loc": {
                                "start": {
                                  "line": 417,
                                  "column": 26
                                },
                                "end": {
                                  "line": 417,
                                  "column": 39
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 16472,
                      "end": 16504,
                      "loc": {
                        "start": {
                          "line": 418,
                          "column": 8
                        },
                        "end": {
                          "line": 419,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 16476,
                        "end": 16483,
                        "loc": {
                          "start": {
                            "line": 418,
                            "column": 12
                          },
                          "end": {
                            "line": 418,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 16477,
                          "end": 16483,
                          "loc": {
                            "start": {
                              "line": 418,
                              "column": 13
                            },
                            "end": {
                              "line": 418,
                              "column": 19
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 16497,
                        "end": 16504,
                        "loc": {
                          "start": {
                            "line": 419,
                            "column": 12
                          },
                          "end": {
                            "line": 419,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16513,
                      "end": 16558,
                      "loc": {
                        "start": {
                          "line": 420,
                          "column": 8
                        },
                        "end": {
                          "line": 420,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16513,
                        "end": 16557,
                        "loc": {
                          "start": {
                            "line": 420,
                            "column": 8
                          },
                          "end": {
                            "line": 420,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16513,
                          "end": 16532,
                          "loc": {
                            "start": {
                              "line": 420,
                              "column": 8
                            },
                            "end": {
                              "line": 420,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16513,
                            "end": 16517,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 8
                              },
                              "end": {
                                "line": 420,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16518,
                            "end": 16532,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 13
                              },
                              "end": {
                                "line": 420,
                                "column": 27
                              }
                            },
                            "name": "deselectSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 16533,
                            "end": 16556,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 28
                              },
                              "end": {
                                "line": 420,
                                "column": 51
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 16534,
                                "end": 16555,
                                "loc": {
                                  "start": {
                                    "line": 420,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 420,
                                    "column": 50
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 16534,
                                  "end": 16549,
                                  "loc": {
                                    "start": {
                                      "line": 420,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 420,
                                      "column": 44
                                    }
                                  },
                                  "name": "skipServerCalls"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 16551,
                                  "end": 16555,
                                  "loc": {
                                    "start": {
                                      "line": 420,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 420,
                                      "column": 50
                                    }
                                  },
                                  "value": true,
                                  "rawValue": true,
                                  "raw": "true"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16567,
                      "end": 16600,
                      "loc": {
                        "start": {
                          "line": 421,
                          "column": 8
                        },
                        "end": {
                          "line": 421,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16567,
                        "end": 16599,
                        "loc": {
                          "start": {
                            "line": 421,
                            "column": 8
                          },
                          "end": {
                            "line": 421,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16567,
                          "end": 16597,
                          "loc": {
                            "start": {
                              "line": 421,
                              "column": 8
                            },
                            "end": {
                              "line": 421,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 16567,
                            "end": 16579,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 8
                              },
                              "end": {
                                "line": 421,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 16567,
                              "end": 16573,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 8
                                },
                                "end": {
                                  "line": 421,
                                  "column": 14
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16574,
                              "end": 16579,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 15
                                },
                                "end": {
                                  "line": 421,
                                  "column": 20
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16580,
                            "end": 16597,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 21
                              },
                              "end": {
                                "line": 421,
                                "column": 38
                              }
                            },
                            "name": "removeInteraction"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 16609,
                      "end": 16812,
                      "loc": {
                        "start": {
                          "line": 422,
                          "column": 8
                        },
                        "end": {
                          "line": 425,
                          "column": 33
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 16616,
                        "end": 16811,
                        "loc": {
                          "start": {
                            "line": 422,
                            "column": 15
                          },
                          "end": {
                            "line": 425,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 16616,
                          "end": 16628,
                          "loc": {
                            "start": {
                              "line": 422,
                              "column": 15
                            },
                            "end": {
                              "line": 422,
                              "column": 27
                            }
                          },
                          "name": "trackPromise"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 16629,
                            "end": 16810,
                            "loc": {
                              "start": {
                                "line": 422,
                                "column": 28
                              },
                              "end": {
                                "line": 425,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16629,
                              "end": 16797,
                              "loc": {
                                "start": {
                                  "line": 422,
                                  "column": 28
                                },
                                "end": {
                                  "line": 425,
                                  "column": 18
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 16629,
                                "end": 16789,
                                "loc": {
                                  "start": {
                                    "line": 422,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 425,
                                    "column": 10
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 16629,
                                  "end": 16683,
                                  "loc": {
                                    "start": {
                                      "line": 422,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 422,
                                      "column": 82
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 16629,
                                    "end": 16678,
                                    "loc": {
                                      "start": {
                                        "line": 422,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 422,
                                        "column": 77
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 16629,
                                      "end": 16645,
                                      "loc": {
                                        "start": {
                                          "line": 422,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 422,
                                          "column": 44
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 16629,
                                        "end": 16638,
                                        "loc": {
                                          "start": {
                                            "line": 422,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 422,
                                            "column": 37
                                          }
                                        },
                                        "name": "Statement"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 16639,
                                        "end": 16645,
                                        "loc": {
                                          "start": {
                                            "line": 422,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 422,
                                            "column": 44
                                          }
                                        },
                                        "name": "Return"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "CallExpression",
                                        "start": 16646,
                                        "end": 16677,
                                        "loc": {
                                          "start": {
                                            "line": 422,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 422,
                                            "column": 76
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 16646,
                                          "end": 16669,
                                          "loc": {
                                            "start": {
                                              "line": 422,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 422,
                                              "column": 68
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 16646,
                                            "end": 16656,
                                            "loc": {
                                              "start": {
                                                "line": 422,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 422,
                                                "column": 55
                                              }
                                            },
                                            "name": "Expression"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 16657,
                                            "end": 16669,
                                            "loc": {
                                              "start": {
                                                "line": 422,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 422,
                                                "column": 68
                                              }
                                            },
                                            "name": "RemoveSketch"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 16670,
                                            "end": 16676,
                                            "loc": {
                                              "start": {
                                                "line": 422,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 422,
                                                "column": 75
                                              }
                                            },
                                            "name": "sketch"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 16679,
                                    "end": 16683,
                                    "loc": {
                                      "start": {
                                        "line": 422,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 422,
                                        "column": 82
                                      }
                                    },
                                    "name": "then"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 16684,
                                    "end": 16788,
                                    "loc": {
                                      "start": {
                                        "line": 422,
                                        "column": 83
                                      },
                                      "end": {
                                        "line": 425,
                                        "column": 9
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 16690,
                                      "end": 16788,
                                      "loc": {
                                        "start": {
                                          "line": 422,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 425,
                                          "column": 9
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 16704,
                                          "end": 16750,
                                          "loc": {
                                            "start": {
                                              "line": 423,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 423,
                                              "column": 58
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 16704,
                                            "end": 16749,
                                            "loc": {
                                              "start": {
                                                "line": 423,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 423,
                                                "column": 57
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 16704,
                                              "end": 16717,
                                              "loc": {
                                                "start": {
                                                  "line": 423,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 423,
                                                  "column": 25
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 16704,
                                                "end": 16710,
                                                "loc": {
                                                  "start": {
                                                    "line": 423,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 423,
                                                    "column": 18
                                                  }
                                                },
                                                "name": "sketch"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 16711,
                                                "end": 16717,
                                                "loc": {
                                                  "start": {
                                                    "line": 423,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 423,
                                                    "column": 25
                                                  }
                                                },
                                                "name": "parent"
                                              },
                                              "computed": false
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 16721,
                                              "end": 16749,
                                              "loc": {
                                                "start": {
                                                  "line": 423,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 423,
                                                  "column": 57
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 16721,
                                                "end": 16741,
                                                "loc": {
                                                  "start": {
                                                    "line": 423,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 423,
                                                    "column": 49
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 16721,
                                                  "end": 16734,
                                                  "loc": {
                                                    "start": {
                                                      "line": 423,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 423,
                                                      "column": 42
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 16721,
                                                    "end": 16727,
                                                    "loc": {
                                                      "start": {
                                                        "line": 423,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 423,
                                                        "column": 35
                                                      }
                                                    },
                                                    "name": "sketch"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 16728,
                                                    "end": 16734,
                                                    "loc": {
                                                      "start": {
                                                        "line": 423,
                                                        "column": 36
                                                      },
                                                      "end": {
                                                        "line": 423,
                                                        "column": 42
                                                      }
                                                    },
                                                    "name": "parent"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 16735,
                                                  "end": 16741,
                                                  "loc": {
                                                    "start": {
                                                      "line": 423,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 423,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "remove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 16742,
                                                  "end": 16748,
                                                  "loc": {
                                                    "start": {
                                                      "line": 423,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 423,
                                                      "column": 56
                                                    }
                                                  },
                                                  "name": "sketch"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 16763,
                                          "end": 16778,
                                          "loc": {
                                            "start": {
                                              "line": 424,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 424,
                                              "column": 27
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 16763,
                                            "end": 16777,
                                            "loc": {
                                              "start": {
                                                "line": 424,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 424,
                                                "column": 26
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 16763,
                                              "end": 16775,
                                              "loc": {
                                                "start": {
                                                  "line": 424,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 424,
                                                  "column": 24
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 16763,
                                                "end": 16767,
                                                "loc": {
                                                  "start": {
                                                    "line": 424,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 424,
                                                    "column": 16
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 16768,
                                                "end": 16775,
                                                "loc": {
                                                  "start": {
                                                    "line": 424,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 424,
                                                    "column": 24
                                                  }
                                                },
                                                "name": "refresh"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16790,
                                "end": 16797,
                                "loc": {
                                  "start": {
                                    "line": 425,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 425,
                                    "column": 18
                                  }
                                },
                                "name": "execute"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 16798,
                                "end": 16809,
                                "loc": {
                                  "start": {
                                    "line": 425,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 425,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 16798,
                                  "end": 16802,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 23
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 16803,
                                  "end": 16809,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 30
                                    }
                                  },
                                  "name": "socket"
                                },
                                "computed": false
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16824,
              "end": 17340,
              "loc": {
                "start": {
                  "line": 428,
                  "column": 4
                },
                "end": {
                  "line": 438,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16824,
                "end": 16850,
                "loc": {
                  "start": {
                    "line": 428,
                    "column": 4
                  },
                  "end": {
                    "line": 428,
                    "column": 30
                  }
                },
                "name": "switchToOrthographicCamera"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16850,
                "end": 17340,
                "loc": {
                  "start": {
                    "line": 428,
                    "column": 30
                  },
                  "end": {
                    "line": 438,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16851,
                    "end": 16855,
                    "loc": {
                      "start": {
                        "line": 428,
                        "column": 31
                      },
                      "end": {
                        "line": 428,
                        "column": 35
                      }
                    },
                    "name": "view"
                  },
                  {
                    "type": "Identifier",
                    "start": 16857,
                    "end": 16863,
                    "loc": {
                      "start": {
                        "line": 428,
                        "column": 37
                      },
                      "end": {
                        "line": 428,
                        "column": 43
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16865,
                  "end": 17340,
                  "loc": {
                    "start": {
                      "line": 428,
                      "column": 45
                    },
                    "end": {
                      "line": 438,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 16875,
                      "end": 16916,
                      "loc": {
                        "start": {
                          "line": 429,
                          "column": 8
                        },
                        "end": {
                          "line": 429,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16875,
                        "end": 16915,
                        "loc": {
                          "start": {
                            "line": 429,
                            "column": 8
                          },
                          "end": {
                            "line": 429,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16875,
                          "end": 16899,
                          "loc": {
                            "start": {
                              "line": 429,
                              "column": 8
                            },
                            "end": {
                              "line": 429,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16875,
                            "end": 16879,
                            "loc": {
                              "start": {
                                "line": 429,
                                "column": 8
                              },
                              "end": {
                                "line": 429,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16880,
                            "end": 16899,
                            "loc": {
                              "start": {
                                "line": 429,
                                "column": 13
                              },
                              "end": {
                                "line": 429,
                                "column": 32
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 16902,
                          "end": 16915,
                          "loc": {
                            "start": {
                              "line": 429,
                              "column": 35
                            },
                            "end": {
                              "line": 429,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16902,
                            "end": 16906,
                            "loc": {
                              "start": {
                                "line": 429,
                                "column": 35
                              },
                              "end": {
                                "line": 429,
                                "column": 39
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16907,
                            "end": 16915,
                            "loc": {
                              "start": {
                                "line": 429,
                                "column": 40
                              },
                              "end": {
                                "line": 429,
                                "column": 48
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16925,
                      "end": 16980,
                      "loc": {
                        "start": {
                          "line": 430,
                          "column": 8
                        },
                        "end": {
                          "line": 430,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 16925,
                        "end": 16979,
                        "loc": {
                          "start": {
                            "line": 430,
                            "column": 8
                          },
                          "end": {
                            "line": 430,
                            "column": 62
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 16925,
                          "end": 16936,
                          "loc": {
                            "start": {
                              "line": 430,
                              "column": 8
                            },
                            "end": {
                              "line": 430,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16925,
                            "end": 16929,
                            "loc": {
                              "start": {
                                "line": 430,
                                "column": 8
                              },
                              "end": {
                                "line": 430,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16930,
                            "end": 16936,
                            "loc": {
                              "start": {
                                "line": 430,
                                "column": 13
                              },
                              "end": {
                                "line": 430,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 16939,
                          "end": 16979,
                          "loc": {
                            "start": {
                              "line": 430,
                              "column": 22
                            },
                            "end": {
                              "line": 430,
                              "column": 62
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 16943,
                            "end": 16967,
                            "loc": {
                              "start": {
                                "line": 430,
                                "column": 26
                              },
                              "end": {
                                "line": 430,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 16943,
                              "end": 16948,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 26
                                },
                                "end": {
                                  "line": 430,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 16949,
                              "end": 16967,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 32
                                },
                                "end": {
                                  "line": 430,
                                  "column": 50
                                }
                              },
                              "name": "OrthographicCamera"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 16968,
                              "end": 16969,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 51
                                },
                                "end": {
                                  "line": 430,
                                  "column": 52
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            {
                              "type": "Literal",
                              "start": 16971,
                              "end": 16972,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 54
                                },
                                "end": {
                                  "line": 430,
                                  "column": 55
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Literal",
                              "start": 16974,
                              "end": 16975,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 57
                                },
                                "end": {
                                  "line": 430,
                                  "column": 58
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            {
                              "type": "Literal",
                              "start": 16977,
                              "end": 16978,
                              "loc": {
                                "start": {
                                  "line": 430,
                                  "column": 60
                                },
                                "end": {
                                  "line": 430,
                                  "column": 61
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16989,
                      "end": 17047,
                      "loc": {
                        "start": {
                          "line": 431,
                          "column": 8
                        },
                        "end": {
                          "line": 431,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16989,
                        "end": 17046,
                        "loc": {
                          "start": {
                            "line": 431,
                            "column": 8
                          },
                          "end": {
                            "line": 431,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16989,
                          "end": 17008,
                          "loc": {
                            "start": {
                              "line": 431,
                              "column": 8
                            },
                            "end": {
                              "line": 431,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16989,
                            "end": 16995,
                            "loc": {
                              "start": {
                                "line": 431,
                                "column": 8
                              },
                              "end": {
                                "line": 431,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16996,
                            "end": 17008,
                            "loc": {
                              "start": {
                                "line": 431,
                                "column": 15
                              },
                              "end": {
                                "line": 431,
                                "column": 27
                              }
                            },
                            "name": "localToWorld"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 17009,
                            "end": 17045,
                            "loc": {
                              "start": {
                                "line": 431,
                                "column": 28
                              },
                              "end": {
                                "line": 431,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17009,
                              "end": 17033,
                              "loc": {
                                "start": {
                                  "line": 431,
                                  "column": 28
                                },
                                "end": {
                                  "line": 431,
                                  "column": 52
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 17009,
                                "end": 17029,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 17009,
                                  "end": 17020,
                                  "loc": {
                                    "start": {
                                      "line": 431,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 431,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17009,
                                    "end": 17013,
                                    "loc": {
                                      "start": {
                                        "line": 431,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 431,
                                        "column": 32
                                      }
                                    },
                                    "name": "view"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17014,
                                    "end": 17020,
                                    "loc": {
                                      "start": {
                                        "line": 431,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 431,
                                        "column": 39
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17021,
                                  "end": 17029,
                                  "loc": {
                                    "start": {
                                      "line": 431,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 431,
                                      "column": 48
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17030,
                                "end": 17033,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 52
                                  }
                                },
                                "name": "set"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 17034,
                                "end": 17035,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 54
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 17037,
                                "end": 17038,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 57
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 17040,
                                "end": 17044,
                                "loc": {
                                  "start": {
                                    "line": 431,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 431,
                                    "column": 63
                                  }
                                },
                                "value": 1000,
                                "rawValue": 1000,
                                "raw": "1000"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17056,
                      "end": 17110,
                      "loc": {
                        "start": {
                          "line": 432,
                          "column": 8
                        },
                        "end": {
                          "line": 432,
                          "column": 62
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17056,
                        "end": 17109,
                        "loc": {
                          "start": {
                            "line": 432,
                            "column": 8
                          },
                          "end": {
                            "line": 432,
                            "column": 61
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17056,
                          "end": 17089,
                          "loc": {
                            "start": {
                              "line": 432,
                              "column": 8
                            },
                            "end": {
                              "line": 432,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17056,
                            "end": 17070,
                            "loc": {
                              "start": {
                                "line": 432,
                                "column": 8
                              },
                              "end": {
                                "line": 432,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 17056,
                              "end": 17067,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 8
                                },
                                "end": {
                                  "line": 432,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 17056,
                                "end": 17060,
                                "loc": {
                                  "start": {
                                    "line": 432,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 432,
                                    "column": 12
                                  }
                                },
                                "name": "view"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17061,
                                "end": 17067,
                                "loc": {
                                  "start": {
                                    "line": 432,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 432,
                                    "column": 19
                                  }
                                },
                                "name": "camera"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17068,
                              "end": 17070,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 20
                                },
                                "end": {
                                  "line": 432,
                                  "column": 22
                                }
                              },
                              "name": "up"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17071,
                            "end": 17089,
                            "loc": {
                              "start": {
                                "line": 432,
                                "column": 23
                              },
                              "end": {
                                "line": 432,
                                "column": 41
                              }
                            },
                            "name": "transformDirection"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 17090,
                            "end": 17108,
                            "loc": {
                              "start": {
                                "line": 432,
                                "column": 42
                              },
                              "end": {
                                "line": 432,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 17090,
                              "end": 17096,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 42
                                },
                                "end": {
                                  "line": 432,
                                  "column": 48
                                }
                              },
                              "name": "sketch"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17097,
                              "end": 17108,
                              "loc": {
                                "start": {
                                  "line": 432,
                                  "column": 49
                                },
                                "end": {
                                  "line": 432,
                                  "column": 60
                                }
                              },
                              "name": "matrixWorld"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17119,
                      "end": 17140,
                      "loc": {
                        "start": {
                          "line": 433,
                          "column": 8
                        },
                        "end": {
                          "line": 433,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17119,
                        "end": 17139,
                        "loc": {
                          "start": {
                            "line": 433,
                            "column": 8
                          },
                          "end": {
                            "line": 433,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17119,
                          "end": 17135,
                          "loc": {
                            "start": {
                              "line": 433,
                              "column": 8
                            },
                            "end": {
                              "line": 433,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17119,
                            "end": 17130,
                            "loc": {
                              "start": {
                                "line": 433,
                                "column": 8
                              },
                              "end": {
                                "line": 433,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 17119,
                              "end": 17123,
                              "loc": {
                                "start": {
                                  "line": 433,
                                  "column": 8
                                },
                                "end": {
                                  "line": 433,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17124,
                              "end": 17130,
                              "loc": {
                                "start": {
                                  "line": 433,
                                  "column": 13
                                },
                                "end": {
                                  "line": 433,
                                  "column": 19
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17131,
                            "end": 17135,
                            "loc": {
                              "start": {
                                "line": 433,
                                "column": 20
                              },
                              "end": {
                                "line": 433,
                                "column": 24
                              }
                            },
                            "name": "size"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 17138,
                          "end": 17139,
                          "loc": {
                            "start": {
                              "line": 433,
                              "column": 27
                            },
                            "end": {
                              "line": 433,
                              "column": 28
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17149,
                      "end": 17187,
                      "loc": {
                        "start": {
                          "line": 434,
                          "column": 8
                        },
                        "end": {
                          "line": 434,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17149,
                        "end": 17186,
                        "loc": {
                          "start": {
                            "line": 434,
                            "column": 8
                          },
                          "end": {
                            "line": 434,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17149,
                          "end": 17162,
                          "loc": {
                            "start": {
                              "line": 434,
                              "column": 8
                            },
                            "end": {
                              "line": 434,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17149,
                            "end": 17153,
                            "loc": {
                              "start": {
                                "line": 434,
                                "column": 8
                              },
                              "end": {
                                "line": 434,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17154,
                            "end": 17162,
                            "loc": {
                              "start": {
                                "line": 434,
                                "column": 13
                              },
                              "end": {
                                "line": 434,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 17165,
                          "end": 17186,
                          "loc": {
                            "start": {
                              "line": 434,
                              "column": 24
                            },
                            "end": {
                              "line": 434,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 17165,
                            "end": 17184,
                            "loc": {
                              "start": {
                                "line": 434,
                                "column": 24
                              },
                              "end": {
                                "line": 434,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 17165,
                              "end": 17178,
                              "loc": {
                                "start": {
                                  "line": 434,
                                  "column": 24
                                },
                                "end": {
                                  "line": 434,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 17165,
                                "end": 17169,
                                "loc": {
                                  "start": {
                                    "line": 434,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 434,
                                    "column": 28
                                  }
                                },
                                "name": "view"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17170,
                                "end": 17178,
                                "loc": {
                                  "start": {
                                    "line": 434,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 434,
                                    "column": 37
                                  }
                                },
                                "name": "controls"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17179,
                              "end": 17184,
                              "loc": {
                                "start": {
                                  "line": 434,
                                  "column": 38
                                },
                                "end": {
                                  "line": 434,
                                  "column": 43
                                }
                              },
                              "name": "clone"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17196,
                      "end": 17226,
                      "loc": {
                        "start": {
                          "line": 435,
                          "column": 8
                        },
                        "end": {
                          "line": 435,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17196,
                        "end": 17225,
                        "loc": {
                          "start": {
                            "line": 435,
                            "column": 8
                          },
                          "end": {
                            "line": 435,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17196,
                          "end": 17218,
                          "loc": {
                            "start": {
                              "line": 435,
                              "column": 8
                            },
                            "end": {
                              "line": 435,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17196,
                            "end": 17209,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 8
                              },
                              "end": {
                                "line": 435,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 17196,
                              "end": 17200,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 8
                                },
                                "end": {
                                  "line": 435,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17201,
                              "end": 17209,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 13
                                },
                                "end": {
                                  "line": 435,
                                  "column": 21
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17210,
                            "end": 17218,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 22
                              },
                              "end": {
                                "line": 435,
                                "column": 30
                              }
                            },
                            "name": "noRotate"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 17221,
                          "end": 17225,
                          "loc": {
                            "start": {
                              "line": 435,
                              "column": 33
                            },
                            "end": {
                              "line": 435,
                              "column": 37
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17235,
                      "end": 17281,
                      "loc": {
                        "start": {
                          "line": 436,
                          "column": 8
                        },
                        "end": {
                          "line": 436,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17235,
                        "end": 17280,
                        "loc": {
                          "start": {
                            "line": 436,
                            "column": 8
                          },
                          "end": {
                            "line": 436,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17235,
                          "end": 17257,
                          "loc": {
                            "start": {
                              "line": 436,
                              "column": 8
                            },
                            "end": {
                              "line": 436,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17235,
                            "end": 17248,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 8
                              },
                              "end": {
                                "line": 436,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 17235,
                              "end": 17239,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 8
                                },
                                "end": {
                                  "line": 436,
                                  "column": 12
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17240,
                              "end": 17248,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 13
                                },
                                "end": {
                                  "line": 436,
                                  "column": 21
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17249,
                            "end": 17257,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 22
                              },
                              "end": {
                                "line": 436,
                                "column": 30
                              }
                            },
                            "name": "zoomMode"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17260,
                          "end": 17280,
                          "loc": {
                            "start": {
                              "line": 436,
                              "column": 33
                            },
                            "end": {
                              "line": 436,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17260,
                            "end": 17274,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 33
                              },
                              "end": {
                                "line": 436,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 17260,
                              "end": 17265,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 33
                                },
                                "end": {
                                  "line": 436,
                                  "column": 38
                                }
                              },
                              "name": "Orbit"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17266,
                              "end": 17274,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 39
                                },
                                "end": {
                                  "line": 436,
                                  "column": 47
                                }
                              },
                              "name": "ZoomMode"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17275,
                            "end": 17280,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 48
                              },
                              "end": {
                                "line": 436,
                                "column": 53
                              }
                            },
                            "name": "Mouse"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17290,
                      "end": 17334,
                      "loc": {
                        "start": {
                          "line": 437,
                          "column": 8
                        },
                        "end": {
                          "line": 437,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17290,
                        "end": 17333,
                        "loc": {
                          "start": {
                            "line": 437,
                            "column": 8
                          },
                          "end": {
                            "line": 437,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17290,
                          "end": 17331,
                          "loc": {
                            "start": {
                              "line": 437,
                              "column": 8
                            },
                            "end": {
                              "line": 437,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 17290,
                            "end": 17327,
                            "loc": {
                              "start": {
                                "line": 437,
                                "column": 8
                              },
                              "end": {
                                "line": 437,
                                "column": 45
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17290,
                              "end": 17322,
                              "loc": {
                                "start": {
                                  "line": 437,
                                  "column": 8
                                },
                                "end": {
                                  "line": 437,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 17290,
                                "end": 17317,
                                "loc": {
                                  "start": {
                                    "line": 437,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 437,
                                    "column": 35
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 17290,
                                  "end": 17309,
                                  "loc": {
                                    "start": {
                                      "line": 437,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 437,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 17290,
                                    "end": 17303,
                                    "loc": {
                                      "start": {
                                        "line": 437,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 437,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 17290,
                                      "end": 17294,
                                      "loc": {
                                        "start": {
                                          "line": 437,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 437,
                                          "column": 12
                                        }
                                      },
                                      "name": "view"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17295,
                                      "end": 17303,
                                      "loc": {
                                        "start": {
                                          "line": 437,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 437,
                                          "column": 21
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17304,
                                    "end": 17309,
                                    "loc": {
                                      "start": {
                                        "line": 437,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 437,
                                        "column": 27
                                      }
                                    },
                                    "name": "focus"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 17310,
                                    "end": 17316,
                                    "loc": {
                                      "start": {
                                        "line": 437,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 437,
                                        "column": 34
                                      }
                                    },
                                    "name": "sketch"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17318,
                                "end": 17322,
                                "loc": {
                                  "start": {
                                    "line": 437,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 437,
                                    "column": 40
                                  }
                                },
                                "name": "zoom"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 17323,
                                "end": 17326,
                                "loc": {
                                  "start": {
                                    "line": 437,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 437,
                                    "column": 44
                                  }
                                },
                                "value": 200,
                                "rawValue": 200,
                                "raw": "200"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17328,
                            "end": 17331,
                            "loc": {
                              "start": {
                                "line": 437,
                                "column": 46
                              },
                              "end": {
                                "line": 437,
                                "column": 49
                              }
                            },
                            "name": "now"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17346,
              "end": 17525,
              "loc": {
                "start": {
                  "line": 440,
                  "column": 4
                },
                "end": {
                  "line": 444,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17346,
                "end": 17371,
                "loc": {
                  "start": {
                    "line": 440,
                    "column": 4
                  },
                  "end": {
                    "line": 440,
                    "column": 29
                  }
                },
                "name": "switchToPerspectiveCamera"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17371,
                "end": 17525,
                "loc": {
                  "start": {
                    "line": 440,
                    "column": 29
                  },
                  "end": {
                    "line": 444,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17372,
                    "end": 17376,
                    "loc": {
                      "start": {
                        "line": 440,
                        "column": 30
                      },
                      "end": {
                        "line": 440,
                        "column": 34
                      }
                    },
                    "name": "view"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17378,
                  "end": 17525,
                  "loc": {
                    "start": {
                      "line": 440,
                      "column": 36
                    },
                    "end": {
                      "line": 444,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 17388,
                      "end": 17429,
                      "loc": {
                        "start": {
                          "line": 441,
                          "column": 8
                        },
                        "end": {
                          "line": 441,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17388,
                        "end": 17428,
                        "loc": {
                          "start": {
                            "line": 441,
                            "column": 8
                          },
                          "end": {
                            "line": 441,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17388,
                          "end": 17401,
                          "loc": {
                            "start": {
                              "line": 441,
                              "column": 8
                            },
                            "end": {
                              "line": 441,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17388,
                            "end": 17392,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 8
                              },
                              "end": {
                                "line": 441,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17393,
                            "end": 17401,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 13
                              },
                              "end": {
                                "line": 441,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17404,
                          "end": 17428,
                          "loc": {
                            "start": {
                              "line": 441,
                              "column": 24
                            },
                            "end": {
                              "line": 441,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17404,
                            "end": 17408,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 24
                              },
                              "end": {
                                "line": 441,
                                "column": 28
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17409,
                            "end": 17428,
                            "loc": {
                              "start": {
                                "line": 441,
                                "column": 29
                              },
                              "end": {
                                "line": 441,
                                "column": 48
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17438,
                      "end": 17473,
                      "loc": {
                        "start": {
                          "line": 442,
                          "column": 8
                        },
                        "end": {
                          "line": 442,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17438,
                        "end": 17472,
                        "loc": {
                          "start": {
                            "line": 442,
                            "column": 8
                          },
                          "end": {
                            "line": 442,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17438,
                          "end": 17449,
                          "loc": {
                            "start": {
                              "line": 442,
                              "column": 8
                            },
                            "end": {
                              "line": 442,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17438,
                            "end": 17442,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 8
                              },
                              "end": {
                                "line": 442,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17443,
                            "end": 17449,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 13
                              },
                              "end": {
                                "line": 442,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17452,
                          "end": 17472,
                          "loc": {
                            "start": {
                              "line": 442,
                              "column": 22
                            },
                            "end": {
                              "line": 442,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17452,
                            "end": 17465,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 22
                              },
                              "end": {
                                "line": 442,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 17452,
                              "end": 17456,
                              "loc": {
                                "start": {
                                  "line": 442,
                                  "column": 22
                                },
                                "end": {
                                  "line": 442,
                                  "column": 26
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17457,
                              "end": 17465,
                              "loc": {
                                "start": {
                                  "line": 442,
                                  "column": 27
                                },
                                "end": {
                                  "line": 442,
                                  "column": 35
                                }
                              },
                              "name": "controls"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17466,
                            "end": 17472,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 36
                              },
                              "end": {
                                "line": 442,
                                "column": 42
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17482,
                      "end": 17519,
                      "loc": {
                        "start": {
                          "line": 443,
                          "column": 8
                        },
                        "end": {
                          "line": 443,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17482,
                        "end": 17518,
                        "loc": {
                          "start": {
                            "line": 443,
                            "column": 8
                          },
                          "end": {
                            "line": 443,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17482,
                          "end": 17506,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 8
                            },
                            "end": {
                              "line": 443,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17482,
                            "end": 17486,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 8
                              },
                              "end": {
                                "line": 443,
                                "column": 12
                              }
                            },
                            "name": "view"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17487,
                            "end": 17506,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 13
                              },
                              "end": {
                                "line": 443,
                                "column": 32
                              }
                            },
                            "name": "perspectiveControls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17509,
                          "end": 17518,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 35
                            },
                            "end": {
                              "line": 443,
                              "column": 44
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17531,
              "end": 18589,
              "loc": {
                "start": {
                  "line": 446,
                  "column": 4
                },
                "end": {
                  "line": 479,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17537,
                "end": 17549,
                "loc": {
                  "start": {
                    "line": 446,
                    "column": 10
                  },
                  "end": {
                    "line": 446,
                    "column": 22
                  }
                },
                "name": "selectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17549,
                "end": 18589,
                "loc": {
                  "start": {
                    "line": 446,
                    "column": 22
                  },
                  "end": {
                    "line": 479,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17550,
                    "end": 17556,
                    "loc": {
                      "start": {
                        "line": 446,
                        "column": 23
                      },
                      "end": {
                        "line": 446,
                        "column": 29
                      }
                    },
                    "name": "sketch"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17558,
                  "end": 18589,
                  "loc": {
                    "start": {
                      "line": 446,
                      "column": 31
                    },
                    "end": {
                      "line": 479,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 17568,
                      "end": 17627,
                      "loc": {
                        "start": {
                          "line": 447,
                          "column": 8
                        },
                        "end": {
                          "line": 448,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 17572,
                        "end": 17601,
                        "loc": {
                          "start": {
                            "line": 447,
                            "column": 12
                          },
                          "end": {
                            "line": 447,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 17572,
                          "end": 17590,
                          "loc": {
                            "start": {
                              "line": 447,
                              "column": 12
                            },
                            "end": {
                              "line": 447,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17572,
                            "end": 17576,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 12
                              },
                              "end": {
                                "line": 447,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17577,
                            "end": 17590,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 17
                              },
                              "end": {
                                "line": 447,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 17595,
                          "end": 17601,
                          "loc": {
                            "start": {
                              "line": 447,
                              "column": 35
                            },
                            "end": {
                              "line": 447,
                              "column": 41
                            }
                          },
                          "name": "sketch"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 17615,
                        "end": 17627,
                        "loc": {
                          "start": {
                            "line": 448,
                            "column": 12
                          },
                          "end": {
                            "line": 448,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 17622,
                          "end": 17626,
                          "loc": {
                            "start": {
                              "line": 448,
                              "column": 19
                            },
                            "end": {
                              "line": 448,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 17636,
                      "end": 17695,
                      "loc": {
                        "start": {
                          "line": 449,
                          "column": 8
                        },
                        "end": {
                          "line": 450,
                          "column": 25
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 17640,
                        "end": 17668,
                        "loc": {
                          "start": {
                            "line": 449,
                            "column": 12
                          },
                          "end": {
                            "line": 449,
                            "column": 40
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "AwaitExpression",
                          "start": 17641,
                          "end": 17668,
                          "loc": {
                            "start": {
                              "line": 449,
                              "column": 13
                            },
                            "end": {
                              "line": 449,
                              "column": 40
                            }
                          },
                          "all": false,
                          "argument": {
                            "type": "CallExpression",
                            "start": 17647,
                            "end": 17668,
                            "loc": {
                              "start": {
                                "line": 449,
                                "column": 19
                              },
                              "end": {
                                "line": 449,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17647,
                              "end": 17666,
                              "loc": {
                                "start": {
                                  "line": 449,
                                  "column": 19
                                },
                                "end": {
                                  "line": 449,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 17647,
                                "end": 17651,
                                "loc": {
                                  "start": {
                                    "line": 449,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 449,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17652,
                                "end": 17666,
                                "loc": {
                                  "start": {
                                    "line": 449,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 449,
                                    "column": 38
                                  }
                                },
                                "name": "deselectSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 17682,
                        "end": 17695,
                        "loc": {
                          "start": {
                            "line": 450,
                            "column": 12
                          },
                          "end": {
                            "line": 450,
                            "column": 25
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 17689,
                          "end": 17694,
                          "loc": {
                            "start": {
                              "line": 450,
                              "column": 19
                            },
                            "end": {
                              "line": 450,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "cannot deselect other sketch",
                          "start": 17698,
                          "end": 17728,
                          "loc": {
                            "start": {
                              "line": 450,
                              "column": 28
                            },
                            "end": {
                              "line": 450,
                              "column": 58
                            }
                          },
                          "range": [
                            17698,
                            17728
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17739,
                      "end": 17767,
                      "loc": {
                        "start": {
                          "line": 453,
                          "column": 8
                        },
                        "end": {
                          "line": 453,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17739,
                        "end": 17766,
                        "loc": {
                          "start": {
                            "line": 453,
                            "column": 8
                          },
                          "end": {
                            "line": 453,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17739,
                          "end": 17757,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 8
                            },
                            "end": {
                              "line": 453,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17739,
                            "end": 17743,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 8
                              },
                              "end": {
                                "line": 453,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17744,
                            "end": 17757,
                            "loc": {
                              "start": {
                                "line": 453,
                                "column": 13
                              },
                              "end": {
                                "line": 453,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 17760,
                          "end": 17766,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 29
                            },
                            "end": {
                              "line": 453,
                              "column": 35
                            }
                          },
                          "name": "sketch"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "cannot deselect other sketch",
                          "start": 17698,
                          "end": 17728,
                          "loc": {
                            "start": {
                              "line": 450,
                              "column": 28
                            },
                            "end": {
                              "line": 450,
                              "column": 58
                            }
                          },
                          "range": [
                            17698,
                            17728
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17776,
                      "end": 17846,
                      "loc": {
                        "start": {
                          "line": 454,
                          "column": 8
                        },
                        "end": {
                          "line": 454,
                          "column": 78
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 17776,
                        "end": 17845,
                        "loc": {
                          "start": {
                            "line": 454,
                            "column": 8
                          },
                          "end": {
                            "line": 454,
                            "column": 77
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 17776,
                          "end": 17799,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 8
                            },
                            "end": {
                              "line": 454,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17776,
                            "end": 17785,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 8
                              },
                              "end": {
                                "line": 454,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17776,
                              "end": 17780,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 8
                                },
                                "end": {
                                  "line": 454,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17781,
                              "end": 17785,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 13
                                },
                                "end": {
                                  "line": 454,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17786,
                            "end": 17799,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 18
                              },
                              "end": {
                                "line": 454,
                                "column": 31
                              }
                            },
                            "name": "expressionSet"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 17802,
                          "end": 17845,
                          "loc": {
                            "start": {
                              "line": 454,
                              "column": 34
                            },
                            "end": {
                              "line": 454,
                              "column": 77
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 17802,
                            "end": 17840,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 34
                              },
                              "end": {
                                "line": 454,
                                "column": 72
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 17802,
                              "end": 17826,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 34
                                },
                                "end": {
                                  "line": 454,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 17802,
                                "end": 17818,
                                "loc": {
                                  "start": {
                                    "line": 454,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 454,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 17802,
                                  "end": 17816,
                                  "loc": {
                                    "start": {
                                      "line": 454,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 454,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 17802,
                                    "end": 17808,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 40
                                      }
                                    },
                                    "name": "sketch"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 17809,
                                    "end": 17816,
                                    "loc": {
                                      "start": {
                                        "line": 454,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 454,
                                        "column": 48
                                      }
                                    },
                                    "name": "getPart"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17819,
                                "end": 17826,
                                "loc": {
                                  "start": {
                                    "line": 454,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 454,
                                    "column": 58
                                  }
                                },
                                "name": "members"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17827,
                              "end": 17840,
                              "loc": {
                                "start": {
                                  "line": 454,
                                  "column": 59
                                },
                                "end": {
                                  "line": 454,
                                  "column": 72
                                }
                              },
                              "name": "ExpressionSet"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17841,
                            "end": 17845,
                            "loc": {
                              "start": {
                                "line": 454,
                                "column": 73
                              },
                              "end": {
                                "line": 454,
                                "column": 77
                              }
                            },
                            "name": "data"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17855,
                      "end": 17887,
                      "loc": {
                        "start": {
                          "line": 455,
                          "column": 8
                        },
                        "end": {
                          "line": 455,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17855,
                        "end": 17886,
                        "loc": {
                          "start": {
                            "line": 455,
                            "column": 8
                          },
                          "end": {
                            "line": 455,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17855,
                          "end": 17884,
                          "loc": {
                            "start": {
                              "line": 455,
                              "column": 8
                            },
                            "end": {
                              "line": 455,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17855,
                            "end": 17859,
                            "loc": {
                              "start": {
                                "line": 455,
                                "column": 8
                              },
                              "end": {
                                "line": 455,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17860,
                            "end": 17884,
                            "loc": {
                              "start": {
                                "line": 455,
                                "column": 13
                              },
                              "end": {
                                "line": 455,
                                "column": 37
                              }
                            },
                            "name": "addSketchControlElements"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17896,
                      "end": 17913,
                      "loc": {
                        "start": {
                          "line": 456,
                          "column": 8
                        },
                        "end": {
                          "line": 456,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17896,
                        "end": 17912,
                        "loc": {
                          "start": {
                            "line": 456,
                            "column": 8
                          },
                          "end": {
                            "line": 456,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17896,
                          "end": 17910,
                          "loc": {
                            "start": {
                              "line": 456,
                              "column": 8
                            },
                            "end": {
                              "line": 456,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17896,
                            "end": 17902,
                            "loc": {
                              "start": {
                                "line": 456,
                                "column": 8
                              },
                              "end": {
                                "line": 456,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17903,
                            "end": 17910,
                            "loc": {
                              "start": {
                                "line": 456,
                                "column": 15
                              },
                              "end": {
                                "line": 456,
                                "column": 22
                              }
                            },
                            "name": "showBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17922,
                      "end": 17943,
                      "loc": {
                        "start": {
                          "line": 457,
                          "column": 8
                        },
                        "end": {
                          "line": 457,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17922,
                        "end": 17942,
                        "loc": {
                          "start": {
                            "line": 457,
                            "column": 8
                          },
                          "end": {
                            "line": 457,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17922,
                          "end": 17940,
                          "loc": {
                            "start": {
                              "line": 457,
                              "column": 8
                            },
                            "end": {
                              "line": 457,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 17922,
                            "end": 17928,
                            "loc": {
                              "start": {
                                "line": 457,
                                "column": 8
                              },
                              "end": {
                                "line": 457,
                                "column": 14
                              }
                            },
                            "name": "sketch"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17929,
                            "end": 17940,
                            "loc": {
                              "start": {
                                "line": 457,
                                "column": 15
                              },
                              "end": {
                                "line": 457,
                                "column": 26
                              }
                            },
                            "name": "infiniteBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 17953,
                      "end": 18004,
                      "loc": {
                        "start": {
                          "line": 459,
                          "column": 8
                        },
                        "end": {
                          "line": 459,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 17953,
                        "end": 18003,
                        "loc": {
                          "start": {
                            "line": 459,
                            "column": 8
                          },
                          "end": {
                            "line": 459,
                            "column": 58
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 17953,
                          "end": 17984,
                          "loc": {
                            "start": {
                              "line": 459,
                              "column": 8
                            },
                            "end": {
                              "line": 459,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17953,
                            "end": 17957,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 8
                              },
                              "end": {
                                "line": 459,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17958,
                            "end": 17984,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 13
                              },
                              "end": {
                                "line": 459,
                                "column": 39
                              }
                            },
                            "name": "switchToOrthographicCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 17985,
                            "end": 17994,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 40
                              },
                              "end": {
                                "line": 459,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 17985,
                              "end": 17989,
                              "loc": {
                                "start": {
                                  "line": 459,
                                  "column": 40
                                },
                                "end": {
                                  "line": 459,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 17990,
                              "end": 17994,
                              "loc": {
                                "start": {
                                  "line": 459,
                                  "column": 45
                                },
                                "end": {
                                  "line": 459,
                                  "column": 49
                                }
                              },
                              "name": "view"
                            },
                            "computed": false
                          },
                          {
                            "type": "Identifier",
                            "start": 17996,
                            "end": 18002,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 51
                              },
                              "end": {
                                "line": 459,
                                "column": 57
                              }
                            },
                            "name": "sketch"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make sure that dimensions are present",
                          "start": 18014,
                          "end": 18053,
                          "loc": {
                            "start": {
                              "line": 461,
                              "column": 8
                            },
                            "end": {
                              "line": 461,
                              "column": 47
                            }
                          },
                          "range": [
                            18014,
                            18053
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18062,
                      "end": 18115,
                      "loc": {
                        "start": {
                          "line": 462,
                          "column": 8
                        },
                        "end": {
                          "line": 462,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 18062,
                        "end": 18114,
                        "loc": {
                          "start": {
                            "line": 462,
                            "column": 8
                          },
                          "end": {
                            "line": 462,
                            "column": 60
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 18068,
                          "end": 18114,
                          "loc": {
                            "start": {
                              "line": 462,
                              "column": 14
                            },
                            "end": {
                              "line": 462,
                              "column": 60
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 18068,
                            "end": 18101,
                            "loc": {
                              "start": {
                                "line": 462,
                                "column": 14
                              },
                              "end": {
                                "line": 462,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 18068,
                              "end": 18093,
                              "loc": {
                                "start": {
                                  "line": 462,
                                  "column": 14
                                },
                                "end": {
                                  "line": 462,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18068,
                                "end": 18091,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 18068,
                                  "end": 18074,
                                  "loc": {
                                    "start": {
                                      "line": 462,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 462,
                                      "column": 20
                                    }
                                  },
                                  "name": "sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18075,
                                  "end": 18091,
                                  "loc": {
                                    "start": {
                                      "line": 462,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 462,
                                      "column": 37
                                    }
                                  },
                                  "name": "updateFromServer"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18094,
                              "end": 18101,
                              "loc": {
                                "start": {
                                  "line": 462,
                                  "column": 40
                                },
                                "end": {
                                  "line": 462,
                                  "column": 47
                                }
                              },
                              "name": "execute"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 18102,
                              "end": 18113,
                              "loc": {
                                "start": {
                                  "line": 462,
                                  "column": 48
                                },
                                "end": {
                                  "line": 462,
                                  "column": 59
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18102,
                                "end": 18106,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 52
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18107,
                                "end": 18113,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 59
                                  }
                                },
                                "name": "socket"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "make sure that dimensions are present",
                          "start": 18014,
                          "end": 18053,
                          "loc": {
                            "start": {
                              "line": 461,
                              "column": 8
                            },
                            "end": {
                              "line": 461,
                              "column": 47
                            }
                          },
                          "range": [
                            18014,
                            18053
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18125,
                      "end": 18156,
                      "loc": {
                        "start": {
                          "line": 464,
                          "column": 8
                        },
                        "end": {
                          "line": 464,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 18125,
                        "end": 18155,
                        "loc": {
                          "start": {
                            "line": 464,
                            "column": 8
                          },
                          "end": {
                            "line": 464,
                            "column": 38
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 18131,
                          "end": 18155,
                          "loc": {
                            "start": {
                              "line": 464,
                              "column": 14
                            },
                            "end": {
                              "line": 464,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 18131,
                            "end": 18146,
                            "loc": {
                              "start": {
                                "line": 464,
                                "column": 14
                              },
                              "end": {
                                "line": 464,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18131,
                              "end": 18135,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 14
                                },
                                "end": {
                                  "line": 464,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18136,
                              "end": 18146,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 19
                                },
                                "end": {
                                  "line": 464,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 18147,
                              "end": 18154,
                              "loc": {
                                "start": {
                                  "line": 464,
                                  "column": 30
                                },
                                "end": {
                                  "line": 464,
                                  "column": 37
                                }
                              },
                              "value": "empty",
                              "rawValue": "empty",
                              "raw": "'empty'"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18166,
                      "end": 18181,
                      "loc": {
                        "start": {
                          "line": 466,
                          "column": 8
                        },
                        "end": {
                          "line": 466,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18166,
                        "end": 18180,
                        "loc": {
                          "start": {
                            "line": 466,
                            "column": 8
                          },
                          "end": {
                            "line": 466,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 18166,
                          "end": 18178,
                          "loc": {
                            "start": {
                              "line": 466,
                              "column": 8
                            },
                            "end": {
                              "line": 466,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 18166,
                            "end": 18170,
                            "loc": {
                              "start": {
                                "line": 466,
                                "column": 8
                              },
                              "end": {
                                "line": 466,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18171,
                            "end": 18178,
                            "loc": {
                              "start": {
                                "line": 466,
                                "column": 13
                              },
                              "end": {
                                "line": 466,
                                "column": 20
                              }
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18191,
                      "end": 18221,
                      "loc": {
                        "start": {
                          "line": 468,
                          "column": 8
                        },
                        "end": {
                          "line": 468,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18191,
                        "end": 18220,
                        "loc": {
                          "start": {
                            "line": 468,
                            "column": 8
                          },
                          "end": {
                            "line": 468,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 18191,
                          "end": 18218,
                          "loc": {
                            "start": {
                              "line": 468,
                              "column": 8
                            },
                            "end": {
                              "line": 468,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18191,
                            "end": 18209,
                            "loc": {
                              "start": {
                                "line": 468,
                                "column": 8
                              },
                              "end": {
                                "line": 468,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18191,
                              "end": 18195,
                              "loc": {
                                "start": {
                                  "line": 468,
                                  "column": 8
                                },
                                "end": {
                                  "line": 468,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18196,
                              "end": 18209,
                              "loc": {
                                "start": {
                                  "line": 468,
                                  "column": 13
                                },
                                "end": {
                                  "line": 468,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18210,
                            "end": 18218,
                            "loc": {
                              "start": {
                                "line": 468,
                                "column": 27
                              },
                              "end": {
                                "line": 468,
                                "column": 35
                              }
                            },
                            "name": "showGrid"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18230,
                      "end": 18266,
                      "loc": {
                        "start": {
                          "line": 469,
                          "column": 8
                        },
                        "end": {
                          "line": 469,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18230,
                        "end": 18265,
                        "loc": {
                          "start": {
                            "line": 469,
                            "column": 8
                          },
                          "end": {
                            "line": 469,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 18230,
                          "end": 18263,
                          "loc": {
                            "start": {
                              "line": 469,
                              "column": 8
                            },
                            "end": {
                              "line": 469,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18230,
                            "end": 18248,
                            "loc": {
                              "start": {
                                "line": 469,
                                "column": 8
                              },
                              "end": {
                                "line": 469,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18230,
                              "end": 18234,
                              "loc": {
                                "start": {
                                  "line": 469,
                                  "column": 8
                                },
                                "end": {
                                  "line": 469,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18235,
                              "end": 18248,
                              "loc": {
                                "start": {
                                  "line": 469,
                                  "column": 13
                                },
                                "end": {
                                  "line": 469,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18249,
                            "end": 18263,
                            "loc": {
                              "start": {
                                "line": 469,
                                "column": 27
                              },
                              "end": {
                                "line": 469,
                                "column": 41
                              }
                            },
                            "name": "showDimensions"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18276,
                      "end": 18309,
                      "loc": {
                        "start": {
                          "line": 471,
                          "column": 8
                        },
                        "end": {
                          "line": 471,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18280,
                          "end": 18308,
                          "loc": {
                            "start": {
                              "line": 471,
                              "column": 12
                            },
                            "end": {
                              "line": 471,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18280,
                            "end": 18284,
                            "loc": {
                              "start": {
                                "line": 471,
                                "column": 12
                              },
                              "end": {
                                "line": 471,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 18287,
                            "end": 18308,
                            "loc": {
                              "start": {
                                "line": 471,
                                "column": 19
                              },
                              "end": {
                                "line": 471,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 18287,
                              "end": 18303,
                              "loc": {
                                "start": {
                                  "line": 471,
                                  "column": 19
                                },
                                "end": {
                                  "line": 471,
                                  "column": 35
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18287,
                                "end": 18301,
                                "loc": {
                                  "start": {
                                    "line": 471,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 471,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 18287,
                                  "end": 18293,
                                  "loc": {
                                    "start": {
                                      "line": 471,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 471,
                                      "column": 25
                                    }
                                  },
                                  "name": "sketch"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18294,
                                  "end": 18301,
                                  "loc": {
                                    "start": {
                                      "line": 471,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 471,
                                      "column": 33
                                    }
                                  },
                                  "name": "getPart"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18304,
                              "end": 18308,
                              "loc": {
                                "start": {
                                  "line": 471,
                                  "column": 36
                                },
                                "end": {
                                  "line": 471,
                                  "column": 40
                                }
                              },
                              "name": "item"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 18318,
                      "end": 18562,
                      "loc": {
                        "start": {
                          "line": 472,
                          "column": 8
                        },
                        "end": {
                          "line": 477,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 18322,
                        "end": 18366,
                        "loc": {
                          "start": {
                            "line": 472,
                            "column": 12
                          },
                          "end": {
                            "line": 472,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 18322,
                          "end": 18344,
                          "loc": {
                            "start": {
                              "line": 472,
                              "column": 12
                            },
                            "end": {
                              "line": 472,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 18322,
                            "end": 18326,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 12
                              },
                              "end": {
                                "line": 472,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 18330,
                            "end": 18344,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 20
                              },
                              "end": {
                                "line": 472,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18330,
                              "end": 18334,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 20
                                },
                                "end": {
                                  "line": 472,
                                  "column": 24
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18335,
                              "end": 18344,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 25
                                },
                                "end": {
                                  "line": 472,
                                  "column": 34
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18348,
                          "end": 18366,
                          "loc": {
                            "start": {
                              "line": 472,
                              "column": 38
                            },
                            "end": {
                              "line": 472,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18348,
                            "end": 18362,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 38
                              },
                              "end": {
                                "line": 472,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18348,
                              "end": 18352,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 38
                                },
                                "end": {
                                  "line": 472,
                                  "column": 42
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18353,
                              "end": 18362,
                              "loc": {
                                "start": {
                                  "line": 472,
                                  "column": 43
                                },
                                "end": {
                                  "line": 472,
                                  "column": 52
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18363,
                            "end": 18366,
                            "loc": {
                              "start": {
                                "line": 472,
                                "column": 53
                              },
                              "end": {
                                "line": 472,
                                "column": 56
                              }
                            },
                            "name": "all"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 18368,
                        "end": 18562,
                        "loc": {
                          "start": {
                            "line": 472,
                            "column": 58
                          },
                          "end": {
                            "line": 477,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 18382,
                            "end": 18552,
                            "loc": {
                              "start": {
                                "line": 473,
                                "column": 12
                              },
                              "end": {
                                "line": 476,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 18382,
                              "end": 18551,
                              "loc": {
                                "start": {
                                  "line": 473,
                                  "column": 12
                                },
                                "end": {
                                  "line": 476,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18382,
                                "end": 18408,
                                "loc": {
                                  "start": {
                                    "line": 473,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 473,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18382,
                                  "end": 18400,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18382,
                                    "end": 18396,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 18382,
                                      "end": 18386,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 16
                                        }
                                      },
                                      "name": "item"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18387,
                                      "end": 18396,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 26
                                        }
                                      },
                                      "name": "materials"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18397,
                                    "end": 18400,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 30
                                      }
                                    },
                                    "name": "all"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18401,
                                  "end": 18408,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 38
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 18409,
                                  "end": 18550,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 476,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 18419,
                                      "end": 18427,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 57
                                        }
                                      },
                                      "name": "material"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 18429,
                                    "end": 18550,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 476,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 18447,
                                        "end": 18475,
                                        "loc": {
                                          "start": {
                                            "line": 474,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 474,
                                            "column": 44
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 18447,
                                          "end": 18474,
                                          "loc": {
                                            "start": {
                                              "line": 474,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 474,
                                              "column": 43
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 18447,
                                            "end": 18467,
                                            "loc": {
                                              "start": {
                                                "line": 474,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 474,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 18447,
                                              "end": 18455,
                                              "loc": {
                                                "start": {
                                                  "line": 474,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 474,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18456,
                                              "end": 18467,
                                              "loc": {
                                                "start": {
                                                  "line": 474,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 474,
                                                  "column": 36
                                                }
                                              },
                                              "name": "transparent"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 18470,
                                            "end": 18474,
                                            "loc": {
                                              "start": {
                                                "line": 474,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 474,
                                                "column": 43
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 18492,
                                        "end": 18536,
                                        "loc": {
                                          "start": {
                                            "line": 475,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 475,
                                            "column": 60
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 18492,
                                          "end": 18535,
                                          "loc": {
                                            "start": {
                                              "line": 475,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 475,
                                              "column": 59
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 18492,
                                            "end": 18508,
                                            "loc": {
                                              "start": {
                                                "line": 475,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 475,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 18492,
                                              "end": 18500,
                                              "loc": {
                                                "start": {
                                                  "line": 475,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 475,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18501,
                                              "end": 18508,
                                              "loc": {
                                                "start": {
                                                  "line": 475,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 475,
                                                  "column": 32
                                                }
                                              },
                                              "name": "opacity"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 18511,
                                            "end": 18535,
                                            "loc": {
                                              "start": {
                                                "line": 475,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 475,
                                                "column": 59
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 18511,
                                              "end": 18517,
                                              "loc": {
                                                "start": {
                                                  "line": 475,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 475,
                                                  "column": 41
                                                }
                                              },
                                              "name": "sketch"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18518,
                                              "end": 18535,
                                              "loc": {
                                                "start": {
                                                  "line": 475,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 475,
                                                  "column": 59
                                                }
                                              },
                                              "name": "chosenItemOpacity"
                                            },
                                            "computed": false
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 18571,
                      "end": 18583,
                      "loc": {
                        "start": {
                          "line": 478,
                          "column": 8
                        },
                        "end": {
                          "line": 478,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 18578,
                        "end": 18582,
                        "loc": {
                          "start": {
                            "line": 478,
                            "column": 15
                          },
                          "end": {
                            "line": 478,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 18595,
              "end": 19650,
              "loc": {
                "start": {
                  "line": 481,
                  "column": 4
                },
                "end": {
                  "line": 515,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18601,
                "end": 18615,
                "loc": {
                  "start": {
                    "line": 481,
                    "column": 10
                  },
                  "end": {
                    "line": 481,
                    "column": 24
                  }
                },
                "name": "deselectSketch"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18615,
                "end": 19650,
                "loc": {
                  "start": {
                    "line": 481,
                    "column": 24
                  },
                  "end": {
                    "line": 515,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18616,
                    "end": 18623,
                    "loc": {
                      "start": {
                        "line": 481,
                        "column": 25
                      },
                      "end": {
                        "line": 481,
                        "column": 32
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18625,
                  "end": 19650,
                  "loc": {
                    "start": {
                      "line": 481,
                      "column": 34
                    },
                    "end": {
                      "line": 515,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 18635,
                      "end": 18692,
                      "loc": {
                        "start": {
                          "line": 482,
                          "column": 8
                        },
                        "end": {
                          "line": 483,
                          "column": 24
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 18639,
                        "end": 18666,
                        "loc": {
                          "start": {
                            "line": 482,
                            "column": 12
                          },
                          "end": {
                            "line": 482,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 18639,
                          "end": 18657,
                          "loc": {
                            "start": {
                              "line": 482,
                              "column": 12
                            },
                            "end": {
                              "line": 482,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 18639,
                            "end": 18643,
                            "loc": {
                              "start": {
                                "line": 482,
                                "column": 12
                              },
                              "end": {
                                "line": 482,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18644,
                            "end": 18657,
                            "loc": {
                              "start": {
                                "line": 482,
                                "column": 17
                              },
                              "end": {
                                "line": 482,
                                "column": 30
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 18662,
                          "end": 18666,
                          "loc": {
                            "start": {
                              "line": 482,
                              "column": 35
                            },
                            "end": {
                              "line": 482,
                              "column": 39
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 18680,
                        "end": 18692,
                        "loc": {
                          "start": {
                            "line": 483,
                            "column": 12
                          },
                          "end": {
                            "line": 483,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 18687,
                          "end": 18691,
                          "loc": {
                            "start": {
                              "line": 483,
                              "column": 19
                            },
                            "end": {
                              "line": 483,
                              "column": 23
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18702,
                      "end": 18747,
                      "loc": {
                        "start": {
                          "line": 485,
                          "column": 8
                        },
                        "end": {
                          "line": 485,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18706,
                          "end": 18746,
                          "loc": {
                            "start": {
                              "line": 485,
                              "column": 12
                            },
                            "end": {
                              "line": 485,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18706,
                            "end": 18710,
                            "loc": {
                              "start": {
                                "line": 485,
                                "column": 12
                              },
                              "end": {
                                "line": 485,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 18713,
                            "end": 18746,
                            "loc": {
                              "start": {
                                "line": 485,
                                "column": 19
                              },
                              "end": {
                                "line": 485,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 18713,
                              "end": 18741,
                              "loc": {
                                "start": {
                                  "line": 485,
                                  "column": 19
                                },
                                "end": {
                                  "line": 485,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18713,
                                "end": 18739,
                                "loc": {
                                  "start": {
                                    "line": 485,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 485,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18713,
                                  "end": 18731,
                                  "loc": {
                                    "start": {
                                      "line": 485,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 485,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 18713,
                                    "end": 18717,
                                    "loc": {
                                      "start": {
                                        "line": 485,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 485,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18718,
                                    "end": 18731,
                                    "loc": {
                                      "start": {
                                        "line": 485,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 485,
                                        "column": 37
                                      }
                                    },
                                    "name": "currentSketch"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18732,
                                  "end": 18739,
                                  "loc": {
                                    "start": {
                                      "line": 485,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 485,
                                      "column": 45
                                    }
                                  },
                                  "name": "getPart"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18742,
                              "end": 18746,
                              "loc": {
                                "start": {
                                  "line": 485,
                                  "column": 48
                                },
                                "end": {
                                  "line": 485,
                                  "column": 52
                                }
                              },
                              "name": "item"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 18756,
                      "end": 18978,
                      "loc": {
                        "start": {
                          "line": 486,
                          "column": 8
                        },
                        "end": {
                          "line": 491,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 18760,
                        "end": 18804,
                        "loc": {
                          "start": {
                            "line": 486,
                            "column": 12
                          },
                          "end": {
                            "line": 486,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 18760,
                          "end": 18782,
                          "loc": {
                            "start": {
                              "line": 486,
                              "column": 12
                            },
                            "end": {
                              "line": 486,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 18760,
                            "end": 18764,
                            "loc": {
                              "start": {
                                "line": 486,
                                "column": 12
                              },
                              "end": {
                                "line": 486,
                                "column": 16
                              }
                            },
                            "name": "item"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 18768,
                            "end": 18782,
                            "loc": {
                              "start": {
                                "line": 486,
                                "column": 20
                              },
                              "end": {
                                "line": 486,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18768,
                              "end": 18772,
                              "loc": {
                                "start": {
                                  "line": 486,
                                  "column": 20
                                },
                                "end": {
                                  "line": 486,
                                  "column": 24
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18773,
                              "end": 18782,
                              "loc": {
                                "start": {
                                  "line": 486,
                                  "column": 25
                                },
                                "end": {
                                  "line": 486,
                                  "column": 34
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18786,
                          "end": 18804,
                          "loc": {
                            "start": {
                              "line": 486,
                              "column": 38
                            },
                            "end": {
                              "line": 486,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 18786,
                            "end": 18800,
                            "loc": {
                              "start": {
                                "line": 486,
                                "column": 38
                              },
                              "end": {
                                "line": 486,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18786,
                              "end": 18790,
                              "loc": {
                                "start": {
                                  "line": 486,
                                  "column": 38
                                },
                                "end": {
                                  "line": 486,
                                  "column": 42
                                }
                              },
                              "name": "item"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18791,
                              "end": 18800,
                              "loc": {
                                "start": {
                                  "line": 486,
                                  "column": 43
                                },
                                "end": {
                                  "line": 486,
                                  "column": 52
                                }
                              },
                              "name": "materials"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18801,
                            "end": 18804,
                            "loc": {
                              "start": {
                                "line": 486,
                                "column": 53
                              },
                              "end": {
                                "line": 486,
                                "column": 56
                              }
                            },
                            "name": "all"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 18806,
                        "end": 18978,
                        "loc": {
                          "start": {
                            "line": 486,
                            "column": 58
                          },
                          "end": {
                            "line": 491,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 18820,
                            "end": 18968,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 12
                              },
                              "end": {
                                "line": 490,
                                "column": 15
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 18820,
                              "end": 18967,
                              "loc": {
                                "start": {
                                  "line": 487,
                                  "column": 12
                                },
                                "end": {
                                  "line": 490,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18820,
                                "end": 18846,
                                "loc": {
                                  "start": {
                                    "line": 487,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 487,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18820,
                                  "end": 18838,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 487,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 18820,
                                    "end": 18834,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 18820,
                                      "end": 18824,
                                      "loc": {
                                        "start": {
                                          "line": 487,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 487,
                                          "column": 16
                                        }
                                      },
                                      "name": "item"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18825,
                                      "end": 18834,
                                      "loc": {
                                        "start": {
                                          "line": 487,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 487,
                                          "column": 26
                                        }
                                      },
                                      "name": "materials"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18835,
                                    "end": 18838,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 487,
                                        "column": 30
                                      }
                                    },
                                    "name": "all"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18839,
                                  "end": 18846,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 487,
                                      "column": 38
                                    }
                                  },
                                  "name": "forEach"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 18847,
                                  "end": 18966,
                                  "loc": {
                                    "start": {
                                      "line": 487,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 18857,
                                      "end": 18865,
                                      "loc": {
                                        "start": {
                                          "line": 487,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 487,
                                          "column": 57
                                        }
                                      },
                                      "name": "material"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 18867,
                                    "end": 18966,
                                    "loc": {
                                      "start": {
                                        "line": 487,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 490,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 18885,
                                        "end": 18906,
                                        "loc": {
                                          "start": {
                                            "line": 488,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 488,
                                            "column": 37
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 18885,
                                          "end": 18905,
                                          "loc": {
                                            "start": {
                                              "line": 488,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 488,
                                              "column": 36
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 18885,
                                            "end": 18901,
                                            "loc": {
                                              "start": {
                                                "line": 488,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 488,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 18885,
                                              "end": 18893,
                                              "loc": {
                                                "start": {
                                                  "line": 488,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 488,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18894,
                                              "end": 18901,
                                              "loc": {
                                                "start": {
                                                  "line": 488,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 488,
                                                  "column": 32
                                                }
                                              },
                                              "name": "opacity"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 18904,
                                            "end": 18905,
                                            "loc": {
                                              "start": {
                                                "line": 488,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 488,
                                                "column": 36
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 18923,
                                        "end": 18952,
                                        "loc": {
                                          "start": {
                                            "line": 489,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 489,
                                            "column": 45
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 18923,
                                          "end": 18951,
                                          "loc": {
                                            "start": {
                                              "line": 489,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 489,
                                              "column": 44
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 18923,
                                            "end": 18943,
                                            "loc": {
                                              "start": {
                                                "line": 489,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 489,
                                                "column": 36
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 18923,
                                              "end": 18931,
                                              "loc": {
                                                "start": {
                                                  "line": 489,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 489,
                                                  "column": 24
                                                }
                                              },
                                              "name": "material"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 18932,
                                              "end": 18943,
                                              "loc": {
                                                "start": {
                                                  "line": 489,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 489,
                                                  "column": 36
                                                }
                                              },
                                              "name": "transparent"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 18946,
                                            "end": 18951,
                                            "loc": {
                                              "start": {
                                                "line": 489,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 489,
                                                "column": 44
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 18988,
                      "end": 19030,
                      "loc": {
                        "start": {
                          "line": 493,
                          "column": 8
                        },
                        "end": {
                          "line": 493,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 18988,
                        "end": 19029,
                        "loc": {
                          "start": {
                            "line": 493,
                            "column": 8
                          },
                          "end": {
                            "line": 493,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 18988,
                          "end": 19018,
                          "loc": {
                            "start": {
                              "line": 493,
                              "column": 8
                            },
                            "end": {
                              "line": 493,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 18988,
                            "end": 18992,
                            "loc": {
                              "start": {
                                "line": 493,
                                "column": 8
                              },
                              "end": {
                                "line": 493,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18993,
                            "end": 19018,
                            "loc": {
                              "start": {
                                "line": 493,
                                "column": 13
                              },
                              "end": {
                                "line": 493,
                                "column": 38
                              }
                            },
                            "name": "switchToPerspectiveCamera"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 19019,
                            "end": 19028,
                            "loc": {
                              "start": {
                                "line": 493,
                                "column": 39
                              },
                              "end": {
                                "line": 493,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19019,
                              "end": 19023,
                              "loc": {
                                "start": {
                                  "line": 493,
                                  "column": 39
                                },
                                "end": {
                                  "line": 493,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19024,
                              "end": 19028,
                              "loc": {
                                "start": {
                                  "line": 493,
                                  "column": 44
                                },
                                "end": {
                                  "line": 493,
                                  "column": 48
                                }
                              },
                              "name": "view"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19039,
                      "end": 19067,
                      "loc": {
                        "start": {
                          "line": 494,
                          "column": 8
                        },
                        "end": {
                          "line": 494,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AwaitExpression",
                        "start": 19039,
                        "end": 19066,
                        "loc": {
                          "start": {
                            "line": 494,
                            "column": 8
                          },
                          "end": {
                            "line": 494,
                            "column": 35
                          }
                        },
                        "all": false,
                        "argument": {
                          "type": "CallExpression",
                          "start": 19045,
                          "end": 19066,
                          "loc": {
                            "start": {
                              "line": 494,
                              "column": 14
                            },
                            "end": {
                              "line": 494,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 19045,
                            "end": 19060,
                            "loc": {
                              "start": {
                                "line": 494,
                                "column": 14
                              },
                              "end": {
                                "line": 494,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19045,
                              "end": 19049,
                              "loc": {
                                "start": {
                                  "line": 494,
                                  "column": 14
                                },
                                "end": {
                                  "line": 494,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19050,
                              "end": 19060,
                              "loc": {
                                "start": {
                                  "line": 494,
                                  "column": 19
                                },
                                "end": {
                                  "line": 494,
                                  "column": 29
                                }
                              },
                              "name": "chooseTool"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 19061,
                              "end": 19065,
                              "loc": {
                                "start": {
                                  "line": 494,
                                  "column": 30
                                },
                                "end": {
                                  "line": 494,
                                  "column": 34
                                }
                              },
                              "value": null,
                              "rawValue": null,
                              "raw": "null"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19077,
                      "end": 19107,
                      "loc": {
                        "start": {
                          "line": 496,
                          "column": 8
                        },
                        "end": {
                          "line": 496,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19077,
                        "end": 19106,
                        "loc": {
                          "start": {
                            "line": 496,
                            "column": 8
                          },
                          "end": {
                            "line": 496,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19077,
                          "end": 19104,
                          "loc": {
                            "start": {
                              "line": 496,
                              "column": 8
                            },
                            "end": {
                              "line": 496,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19077,
                            "end": 19095,
                            "loc": {
                              "start": {
                                "line": 496,
                                "column": 8
                              },
                              "end": {
                                "line": 496,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19077,
                              "end": 19081,
                              "loc": {
                                "start": {
                                  "line": 496,
                                  "column": 8
                                },
                                "end": {
                                  "line": 496,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19082,
                              "end": 19095,
                              "loc": {
                                "start": {
                                  "line": 496,
                                  "column": 13
                                },
                                "end": {
                                  "line": 496,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19096,
                            "end": 19104,
                            "loc": {
                              "start": {
                                "line": 496,
                                "column": 27
                              },
                              "end": {
                                "line": 496,
                                "column": 35
                              }
                            },
                            "name": "hideGrid"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19116,
                      "end": 19152,
                      "loc": {
                        "start": {
                          "line": 497,
                          "column": 8
                        },
                        "end": {
                          "line": 497,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19116,
                        "end": 19151,
                        "loc": {
                          "start": {
                            "line": 497,
                            "column": 8
                          },
                          "end": {
                            "line": 497,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19116,
                          "end": 19149,
                          "loc": {
                            "start": {
                              "line": 497,
                              "column": 8
                            },
                            "end": {
                              "line": 497,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19116,
                            "end": 19134,
                            "loc": {
                              "start": {
                                "line": 497,
                                "column": 8
                              },
                              "end": {
                                "line": 497,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19116,
                              "end": 19120,
                              "loc": {
                                "start": {
                                  "line": 497,
                                  "column": 8
                                },
                                "end": {
                                  "line": 497,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19121,
                              "end": 19134,
                              "loc": {
                                "start": {
                                  "line": 497,
                                  "column": 13
                                },
                                "end": {
                                  "line": 497,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19135,
                            "end": 19149,
                            "loc": {
                              "start": {
                                "line": 497,
                                "column": 27
                              },
                              "end": {
                                "line": 497,
                                "column": 41
                              }
                            },
                            "name": "hideDimensions"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19161,
                      "end": 19198,
                      "loc": {
                        "start": {
                          "line": 498,
                          "column": 8
                        },
                        "end": {
                          "line": 498,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19161,
                        "end": 19197,
                        "loc": {
                          "start": {
                            "line": 498,
                            "column": 8
                          },
                          "end": {
                            "line": 498,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19161,
                          "end": 19195,
                          "loc": {
                            "start": {
                              "line": 498,
                              "column": 8
                            },
                            "end": {
                              "line": 498,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19161,
                            "end": 19179,
                            "loc": {
                              "start": {
                                "line": 498,
                                "column": 8
                              },
                              "end": {
                                "line": 498,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19161,
                              "end": 19165,
                              "loc": {
                                "start": {
                                  "line": 498,
                                  "column": 8
                                },
                                "end": {
                                  "line": 498,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19166,
                              "end": 19179,
                              "loc": {
                                "start": {
                                  "line": 498,
                                  "column": 13
                                },
                                "end": {
                                  "line": 498,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19180,
                            "end": 19195,
                            "loc": {
                              "start": {
                                "line": 498,
                                "column": 27
                              },
                              "end": {
                                "line": 498,
                                "column": 42
                              }
                            },
                            "name": "hideConstraints"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 19208,
                      "end": 19240,
                      "loc": {
                        "start": {
                          "line": 500,
                          "column": 8
                        },
                        "end": {
                          "line": 500,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 19212,
                          "end": 19239,
                          "loc": {
                            "start": {
                              "line": 500,
                              "column": 12
                            },
                            "end": {
                              "line": 500,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 19212,
                            "end": 19218,
                            "loc": {
                              "start": {
                                "line": 500,
                                "column": 12
                              },
                              "end": {
                                "line": 500,
                                "column": 18
                              }
                            },
                            "name": "sketch"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 19221,
                            "end": 19239,
                            "loc": {
                              "start": {
                                "line": 500,
                                "column": 21
                              },
                              "end": {
                                "line": 500,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19221,
                              "end": 19225,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 21
                                },
                                "end": {
                                  "line": 500,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19226,
                              "end": 19239,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 26
                                },
                                "end": {
                                  "line": 500,
                                  "column": 39
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19249,
                      "end": 19273,
                      "loc": {
                        "start": {
                          "line": 501,
                          "column": 8
                        },
                        "end": {
                          "line": 501,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19249,
                        "end": 19272,
                        "loc": {
                          "start": {
                            "line": 501,
                            "column": 8
                          },
                          "end": {
                            "line": 501,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 19249,
                          "end": 19256,
                          "loc": {
                            "start": {
                              "line": 501,
                              "column": 8
                            },
                            "end": {
                              "line": 501,
                              "column": 15
                            }
                          },
                          "name": "options"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 19259,
                          "end": 19272,
                          "loc": {
                            "start": {
                              "line": 501,
                              "column": 18
                            },
                            "end": {
                              "line": 501,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 19259,
                            "end": 19266,
                            "loc": {
                              "start": {
                                "line": 501,
                                "column": 18
                              },
                              "end": {
                                "line": 501,
                                "column": 25
                              }
                            },
                            "name": "options"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ObjectExpression",
                            "start": 19270,
                            "end": 19272,
                            "loc": {
                              "start": {
                                "line": 501,
                                "column": 29
                              },
                              "end": {
                                "line": 501,
                                "column": 31
                              }
                            },
                            "properties": []
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 19282,
                      "end": 19438,
                      "loc": {
                        "start": {
                          "line": 502,
                          "column": 8
                        },
                        "end": {
                          "line": 504,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19286,
                        "end": 19310,
                        "loc": {
                          "start": {
                            "line": 502,
                            "column": 12
                          },
                          "end": {
                            "line": 502,
                            "column": 36
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 19287,
                          "end": 19310,
                          "loc": {
                            "start": {
                              "line": 502,
                              "column": 13
                            },
                            "end": {
                              "line": 502,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 19287,
                            "end": 19294,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 13
                              },
                              "end": {
                                "line": 502,
                                "column": 20
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19295,
                            "end": 19310,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 21
                              },
                              "end": {
                                "line": 502,
                                "column": 36
                              }
                            },
                            "name": "skipServerCalls"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 19312,
                        "end": 19438,
                        "loc": {
                          "start": {
                            "line": 502,
                            "column": 38
                          },
                          "end": {
                            "line": 504,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 19326,
                            "end": 19428,
                            "loc": {
                              "start": {
                                "line": 503,
                                "column": 12
                              },
                              "end": {
                                "line": 503,
                                "column": 114
                              }
                            },
                            "expression": {
                              "type": "AwaitExpression",
                              "start": 19326,
                              "end": 19427,
                              "loc": {
                                "start": {
                                  "line": 503,
                                  "column": 12
                                },
                                "end": {
                                  "line": 503,
                                  "column": 113
                                }
                              },
                              "all": false,
                              "argument": {
                                "type": "CallExpression",
                                "start": 19332,
                                "end": 19427,
                                "loc": {
                                  "start": {
                                    "line": 503,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 503,
                                    "column": 113
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 19332,
                                  "end": 19414,
                                  "loc": {
                                    "start": {
                                      "line": 503,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 503,
                                      "column": 100
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 19332,
                                    "end": 19406,
                                    "loc": {
                                      "start": {
                                        "line": 503,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 503,
                                        "column": 92
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 19332,
                                      "end": 19379,
                                      "loc": {
                                        "start": {
                                          "line": 503,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 503,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 19332,
                                        "end": 19375,
                                        "loc": {
                                          "start": {
                                            "line": 503,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 503,
                                            "column": 61
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 19332,
                                          "end": 19348,
                                          "loc": {
                                            "start": {
                                              "line": 503,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 503,
                                              "column": 34
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19332,
                                            "end": 19341,
                                            "loc": {
                                              "start": {
                                                "line": 503,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 503,
                                                "column": 27
                                              }
                                            },
                                            "name": "Statement"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19342,
                                            "end": 19348,
                                            "loc": {
                                              "start": {
                                                "line": 503,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 503,
                                                "column": 34
                                              }
                                            },
                                            "name": "Return"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 19349,
                                            "end": 19374,
                                            "loc": {
                                              "start": {
                                                "line": 503,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 503,
                                                "column": 60
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 19349,
                                              "end": 19366,
                                              "loc": {
                                                "start": {
                                                  "line": 503,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 503,
                                                  "column": 52
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 19349,
                                                "end": 19359,
                                                "loc": {
                                                  "start": {
                                                    "line": 503,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 503,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "Expression"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 19360,
                                                "end": 19366,
                                                "loc": {
                                                  "start": {
                                                    "line": 503,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 503,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "Recalc"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 19367,
                                                "end": 19373,
                                                "loc": {
                                                  "start": {
                                                    "line": 503,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 503,
                                                    "column": 59
                                                  }
                                                },
                                                "name": "sketch"
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 19376,
                                        "end": 19379,
                                        "loc": {
                                          "start": {
                                            "line": 503,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 503,
                                            "column": 65
                                          }
                                        },
                                        "name": "and"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "CallExpression",
                                        "start": 19380,
                                        "end": 19405,
                                        "loc": {
                                          "start": {
                                            "line": 503,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 503,
                                            "column": 91
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 19380,
                                          "end": 19403,
                                          "loc": {
                                            "start": {
                                              "line": 503,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 503,
                                              "column": 89
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19380,
                                            "end": 19386,
                                            "loc": {
                                              "start": {
                                                "line": 503,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 503,
                                                "column": 72
                                              }
                                            },
                                            "name": "sketch"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19387,
                                            "end": 19403,
                                            "loc": {
                                              "start": {
                                                "line": 503,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 503,
                                                "column": 89
                                              }
                                            },
                                            "name": "updateFromServer"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19407,
                                    "end": 19414,
                                    "loc": {
                                      "start": {
                                        "line": 503,
                                        "column": 93
                                      },
                                      "end": {
                                        "line": 503,
                                        "column": 100
                                      }
                                    },
                                    "name": "execute"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 19415,
                                    "end": 19426,
                                    "loc": {
                                      "start": {
                                        "line": 503,
                                        "column": 101
                                      },
                                      "end": {
                                        "line": 503,
                                        "column": 112
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 19415,
                                      "end": 19419,
                                      "loc": {
                                        "start": {
                                          "line": 503,
                                          "column": 101
                                        },
                                        "end": {
                                          "line": 503,
                                          "column": 105
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19420,
                                      "end": 19426,
                                      "loc": {
                                        "start": {
                                          "line": 503,
                                          "column": 106
                                        },
                                        "end": {
                                          "line": 503,
                                          "column": 112
                                        }
                                      },
                                      "name": "socket"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19448,
                      "end": 19479,
                      "loc": {
                        "start": {
                          "line": 506,
                          "column": 8
                        },
                        "end": {
                          "line": 506,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19448,
                        "end": 19478,
                        "loc": {
                          "start": {
                            "line": 506,
                            "column": 8
                          },
                          "end": {
                            "line": 506,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19448,
                          "end": 19476,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 8
                            },
                            "end": {
                              "line": 506,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19448,
                            "end": 19466,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 8
                              },
                              "end": {
                                "line": 506,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19448,
                              "end": 19452,
                              "loc": {
                                "start": {
                                  "line": 506,
                                  "column": 8
                                },
                                "end": {
                                  "line": 506,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19453,
                              "end": 19466,
                              "loc": {
                                "start": {
                                  "line": 506,
                                  "column": 13
                                },
                                "end": {
                                  "line": 506,
                                  "column": 26
                                }
                              },
                              "name": "currentSketch"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19467,
                            "end": 19476,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 27
                              },
                              "end": {
                                "line": 506,
                                "column": 36
                              }
                            },
                            "name": "updateBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19489,
                      "end": 19524,
                      "loc": {
                        "start": {
                          "line": 508,
                          "column": 8
                        },
                        "end": {
                          "line": 508,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19489,
                        "end": 19523,
                        "loc": {
                          "start": {
                            "line": 508,
                            "column": 8
                          },
                          "end": {
                            "line": 508,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19489,
                          "end": 19521,
                          "loc": {
                            "start": {
                              "line": 508,
                              "column": 8
                            },
                            "end": {
                              "line": 508,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19489,
                            "end": 19493,
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 8
                              },
                              "end": {
                                "line": 508,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19494,
                            "end": 19521,
                            "loc": {
                              "start": {
                                "line": 508,
                                "column": 13
                              },
                              "end": {
                                "line": 508,
                                "column": 40
                              }
                            },
                            "name": "removeSketchControlElements"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19533,
                      "end": 19559,
                      "loc": {
                        "start": {
                          "line": 509,
                          "column": 8
                        },
                        "end": {
                          "line": 509,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19533,
                        "end": 19558,
                        "loc": {
                          "start": {
                            "line": 509,
                            "column": 8
                          },
                          "end": {
                            "line": 509,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19533,
                          "end": 19551,
                          "loc": {
                            "start": {
                              "line": 509,
                              "column": 8
                            },
                            "end": {
                              "line": 509,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19533,
                            "end": 19537,
                            "loc": {
                              "start": {
                                "line": 509,
                                "column": 8
                              },
                              "end": {
                                "line": 509,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19538,
                            "end": 19551,
                            "loc": {
                              "start": {
                                "line": 509,
                                "column": 13
                              },
                              "end": {
                                "line": 509,
                                "column": 26
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 19554,
                          "end": 19558,
                          "loc": {
                            "start": {
                              "line": 509,
                              "column": 29
                            },
                            "end": {
                              "line": 509,
                              "column": 33
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19568,
                      "end": 19597,
                      "loc": {
                        "start": {
                          "line": 510,
                          "column": 8
                        },
                        "end": {
                          "line": 510,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 19568,
                        "end": 19596,
                        "loc": {
                          "start": {
                            "line": 510,
                            "column": 8
                          },
                          "end": {
                            "line": 510,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 19568,
                          "end": 19591,
                          "loc": {
                            "start": {
                              "line": 510,
                              "column": 8
                            },
                            "end": {
                              "line": 510,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19568,
                            "end": 19577,
                            "loc": {
                              "start": {
                                "line": 510,
                                "column": 8
                              },
                              "end": {
                                "line": 510,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19568,
                              "end": 19572,
                              "loc": {
                                "start": {
                                  "line": 510,
                                  "column": 8
                                },
                                "end": {
                                  "line": 510,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19573,
                              "end": 19577,
                              "loc": {
                                "start": {
                                  "line": 510,
                                  "column": 13
                                },
                                "end": {
                                  "line": 510,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19578,
                            "end": 19591,
                            "loc": {
                              "start": {
                                "line": 510,
                                "column": 18
                              },
                              "end": {
                                "line": 510,
                                "column": 31
                              }
                            },
                            "name": "expressionSet"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 19594,
                          "end": 19596,
                          "loc": {
                            "start": {
                              "line": 510,
                              "column": 34
                            },
                            "end": {
                              "line": 510,
                              "column": 36
                            }
                          },
                          "elements": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19607,
                      "end": 19622,
                      "loc": {
                        "start": {
                          "line": 512,
                          "column": 8
                        },
                        "end": {
                          "line": 512,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19607,
                        "end": 19621,
                        "loc": {
                          "start": {
                            "line": 512,
                            "column": 8
                          },
                          "end": {
                            "line": 512,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19607,
                          "end": 19619,
                          "loc": {
                            "start": {
                              "line": 512,
                              "column": 8
                            },
                            "end": {
                              "line": 512,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19607,
                            "end": 19611,
                            "loc": {
                              "start": {
                                "line": 512,
                                "column": 8
                              },
                              "end": {
                                "line": 512,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19612,
                            "end": 19619,
                            "loc": {
                              "start": {
                                "line": 512,
                                "column": 13
                              },
                              "end": {
                                "line": 512,
                                "column": 20
                              }
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 19632,
                      "end": 19644,
                      "loc": {
                        "start": {
                          "line": 514,
                          "column": 8
                        },
                        "end": {
                          "line": 514,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "Literal",
                        "start": 19639,
                        "end": 19643,
                        "loc": {
                          "start": {
                            "line": 514,
                            "column": 15
                          },
                          "end": {
                            "line": 514,
                            "column": 19
                          }
                        },
                        "value": true,
                        "rawValue": true,
                        "raw": "true"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 19656,
              "end": 19758,
              "loc": {
                "start": {
                  "line": 517,
                  "column": 4
                },
                "end": {
                  "line": 519,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19656,
                "end": 19661,
                "loc": {
                  "start": {
                    "line": 517,
                    "column": 4
                  },
                  "end": {
                    "line": 517,
                    "column": 9
                  }
                },
                "name": "click"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19661,
                "end": 19758,
                "loc": {
                  "start": {
                    "line": 517,
                    "column": 9
                  },
                  "end": {
                    "line": 519,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 19664,
                  "end": 19758,
                  "loc": {
                    "start": {
                      "line": 517,
                      "column": 12
                    },
                    "end": {
                      "line": 519,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 19674,
                      "end": 19752,
                      "loc": {
                        "start": {
                          "line": 518,
                          "column": 8
                        },
                        "end": {
                          "line": 518,
                          "column": 86
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 19681,
                        "end": 19751,
                        "loc": {
                          "start": {
                            "line": 518,
                            "column": 15
                          },
                          "end": {
                            "line": 518,
                            "column": 85
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19681,
                          "end": 19715,
                          "loc": {
                            "start": {
                              "line": 518,
                              "column": 15
                            },
                            "end": {
                              "line": 518,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19681,
                            "end": 19709,
                            "loc": {
                              "start": {
                                "line": 518,
                                "column": 15
                              },
                              "end": {
                                "line": 518,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19681,
                              "end": 19685,
                              "loc": {
                                "start": {
                                  "line": 518,
                                  "column": 15
                                },
                                "end": {
                                  "line": 518,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19686,
                              "end": 19709,
                              "loc": {
                                "start": {
                                  "line": 518,
                                  "column": 20
                                },
                                "end": {
                                  "line": 518,
                                  "column": 43
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19710,
                            "end": 19715,
                            "loc": {
                              "start": {
                                "line": 518,
                                "column": 44
                              },
                              "end": {
                                "line": 518,
                                "column": 49
                              }
                            },
                            "name": "click"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 19716,
                            "end": 19750,
                            "loc": {
                              "start": {
                                "line": 518,
                                "column": 50
                              },
                              "end": {
                                "line": 518,
                                "column": 84
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 19716,
                              "end": 19748,
                              "loc": {
                                "start": {
                                  "line": 518,
                                  "column": 50
                                },
                                "end": {
                                  "line": 518,
                                  "column": 82
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 19716,
                                "end": 19742,
                                "loc": {
                                  "start": {
                                    "line": 518,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 518,
                                    "column": 76
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 19716,
                                  "end": 19725,
                                  "loc": {
                                    "start": {
                                      "line": 518,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 518,
                                      "column": 59
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 19716,
                                    "end": 19720,
                                    "loc": {
                                      "start": {
                                        "line": 518,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 518,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19721,
                                    "end": 19725,
                                    "loc": {
                                      "start": {
                                        "line": 518,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 518,
                                        "column": 59
                                      }
                                    },
                                    "name": "data"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19726,
                                  "end": 19742,
                                  "loc": {
                                    "start": {
                                      "line": 518,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 518,
                                      "column": 76
                                    }
                                  },
                                  "name": "interactionPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 19743,
                                "end": 19748,
                                "loc": {
                                  "start": {
                                    "line": 518,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 518,
                                    "column": 82
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 19764,
              "end": 20039,
              "loc": {
                "start": {
                  "line": 521,
                  "column": 4
                },
                "end": {
                  "line": 526,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 19764,
                "end": 19785,
                "loc": {
                  "start": {
                    "line": 521,
                    "column": 4
                  },
                  "end": {
                    "line": 521,
                    "column": 25
                  }
                },
                "name": "interactionPointMoved"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 19785,
                "end": 20039,
                "loc": {
                  "start": {
                    "line": 521,
                    "column": 25
                  },
                  "end": {
                    "line": 526,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 19788,
                  "end": 20039,
                  "loc": {
                    "start": {
                      "line": 521,
                      "column": 28
                    },
                    "end": {
                      "line": 526,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 19895,
                      "end": 19949,
                      "loc": {
                        "start": {
                          "line": 523,
                          "column": 8
                        },
                        "end": {
                          "line": 524,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 19899,
                        "end": 19928,
                        "loc": {
                          "start": {
                            "line": 523,
                            "column": 12
                          },
                          "end": {
                            "line": 523,
                            "column": 41
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 19900,
                          "end": 19928,
                          "loc": {
                            "start": {
                              "line": 523,
                              "column": 13
                            },
                            "end": {
                              "line": 523,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 19900,
                            "end": 19904,
                            "loc": {
                              "start": {
                                "line": 523,
                                "column": 13
                              },
                              "end": {
                                "line": 523,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19905,
                            "end": 19928,
                            "loc": {
                              "start": {
                                "line": 523,
                                "column": 18
                              },
                              "end": {
                                "line": 523,
                                "column": 41
                              }
                            },
                            "name": "__sketchControlsHandler"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 19942,
                        "end": 19949,
                        "loc": {
                          "start": {
                            "line": 524,
                            "column": 12
                          },
                          "end": {
                            "line": 524,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "during execution of selectSketch, currentSketch is already set, but handler is not set",
                          "start": 19798,
                          "end": 19886,
                          "loc": {
                            "start": {
                              "line": 522,
                              "column": 8
                            },
                            "end": {
                              "line": 522,
                              "column": 96
                            }
                          },
                          "range": [
                            19798,
                            19886
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 19958,
                      "end": 20033,
                      "loc": {
                        "start": {
                          "line": 525,
                          "column": 8
                        },
                        "end": {
                          "line": 525,
                          "column": 83
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 19958,
                        "end": 20032,
                        "loc": {
                          "start": {
                            "line": 525,
                            "column": 8
                          },
                          "end": {
                            "line": 525,
                            "column": 82
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 19958,
                          "end": 19996,
                          "loc": {
                            "start": {
                              "line": 525,
                              "column": 8
                            },
                            "end": {
                              "line": 525,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 19958,
                            "end": 19986,
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 8
                              },
                              "end": {
                                "line": 525,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 19958,
                              "end": 19962,
                              "loc": {
                                "start": {
                                  "line": 525,
                                  "column": 8
                                },
                                "end": {
                                  "line": 525,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 19963,
                              "end": 19986,
                              "loc": {
                                "start": {
                                  "line": 525,
                                  "column": 13
                                },
                                "end": {
                                  "line": 525,
                                  "column": 36
                                }
                              },
                              "name": "__sketchControlsHandler"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 19987,
                            "end": 19996,
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 37
                              },
                              "end": {
                                "line": 525,
                                "column": 46
                              }
                            },
                            "name": "mouseMove"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 19997,
                            "end": 20031,
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 47
                              },
                              "end": {
                                "line": 525,
                                "column": 81
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 19997,
                              "end": 20029,
                              "loc": {
                                "start": {
                                  "line": 525,
                                  "column": 47
                                },
                                "end": {
                                  "line": 525,
                                  "column": 79
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 19997,
                                "end": 20023,
                                "loc": {
                                  "start": {
                                    "line": 525,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 525,
                                    "column": 73
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 19997,
                                  "end": 20006,
                                  "loc": {
                                    "start": {
                                      "line": 525,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 525,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 19997,
                                    "end": 20001,
                                    "loc": {
                                      "start": {
                                        "line": 525,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 525,
                                        "column": 51
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20002,
                                    "end": 20006,
                                    "loc": {
                                      "start": {
                                        "line": 525,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 525,
                                        "column": 56
                                      }
                                    },
                                    "name": "data"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20007,
                                  "end": 20023,
                                  "loc": {
                                    "start": {
                                      "line": 525,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 525,
                                      "column": 73
                                    }
                                  },
                                  "name": "interactionPoint"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20024,
                                "end": 20029,
                                "loc": {
                                  "start": {
                                    "line": 525,
                                    "column": 74
                                  },
                                  "end": {
                                    "line": 525,
                                    "column": 79
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 20045,
              "end": 20117,
              "loc": {
                "start": {
                  "line": 528,
                  "column": 4
                },
                "end": {
                  "line": 530,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 20045,
                "end": 20054,
                "loc": {
                  "start": {
                    "line": 528,
                    "column": 4
                  },
                  "end": {
                    "line": 528,
                    "column": 13
                  }
                },
                "name": "setPrompt"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 20054,
                "end": 20117,
                "loc": {
                  "start": {
                    "line": 528,
                    "column": 13
                  },
                  "end": {
                    "line": 530,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 20055,
                    "end": 20065,
                    "loc": {
                      "start": {
                        "line": 528,
                        "column": 14
                      },
                      "end": {
                        "line": 528,
                        "column": 24
                      }
                    },
                    "name": "promptText"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 20067,
                  "end": 20117,
                  "loc": {
                    "start": {
                      "line": 528,
                      "column": 26
                    },
                    "end": {
                      "line": 530,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 20077,
                      "end": 20111,
                      "loc": {
                        "start": {
                          "line": 529,
                          "column": 8
                        },
                        "end": {
                          "line": 529,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 20077,
                        "end": 20110,
                        "loc": {
                          "start": {
                            "line": 529,
                            "column": 8
                          },
                          "end": {
                            "line": 529,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 20077,
                          "end": 20097,
                          "loc": {
                            "start": {
                              "line": 529,
                              "column": 8
                            },
                            "end": {
                              "line": 529,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 20077,
                            "end": 20086,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 8
                              },
                              "end": {
                                "line": 529,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 20077,
                              "end": 20081,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 8
                                },
                                "end": {
                                  "line": 529,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 20082,
                              "end": 20086,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 13
                                },
                                "end": {
                                  "line": 529,
                                  "column": 17
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 20087,
                            "end": 20097,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 18
                              },
                              "end": {
                                "line": 529,
                                "column": 28
                              }
                            },
                            "name": "promptText"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 20100,
                          "end": 20110,
                          "loc": {
                            "start": {
                              "line": 529,
                              "column": 31
                            },
                            "end": {
                              "line": 529,
                              "column": 41
                            }
                          },
                          "name": "promptText"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 20123,
              "end": 20618,
              "loc": {
                "start": {
                  "line": 532,
                  "column": 4
                },
                "end": {
                  "line": 542,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 20129,
                "end": 20148,
                "loc": {
                  "start": {
                    "line": 532,
                    "column": 10
                  },
                  "end": {
                    "line": 532,
                    "column": 29
                  }
                },
                "name": "askConstraintParams"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 20148,
                "end": 20618,
                "loc": {
                  "start": {
                    "line": 532,
                    "column": 29
                  },
                  "end": {
                    "line": 542,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": true,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 20149,
                    "end": 20158,
                    "loc": {
                      "start": {
                        "line": 532,
                        "column": 30
                      },
                      "end": {
                        "line": 532,
                        "column": 39
                      }
                    },
                    "name": "oldParams"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 20160,
                  "end": 20618,
                  "loc": {
                    "start": {
                      "line": 532,
                      "column": 41
                    },
                    "end": {
                      "line": 542,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 20170,
                      "end": 20519,
                      "loc": {
                        "start": {
                          "line": 533,
                          "column": 8
                        },
                        "end": {
                          "line": 540,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20176,
                          "end": 20518,
                          "loc": {
                            "start": {
                              "line": 533,
                              "column": 14
                            },
                            "end": {
                              "line": 540,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20176,
                            "end": 20179,
                            "loc": {
                              "start": {
                                "line": 533,
                                "column": 14
                              },
                              "end": {
                                "line": 533,
                                "column": 17
                              }
                            },
                            "name": "ans"
                          },
                          "init": {
                            "type": "AwaitExpression",
                            "start": 20182,
                            "end": 20518,
                            "loc": {
                              "start": {
                                "line": 533,
                                "column": 20
                              },
                              "end": {
                                "line": 540,
                                "column": 10
                              }
                            },
                            "all": false,
                            "argument": {
                              "type": "CallExpression",
                              "start": 20188,
                              "end": 20518,
                              "loc": {
                                "start": {
                                  "line": 533,
                                  "column": 26
                                },
                                "end": {
                                  "line": 540,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 20188,
                                "end": 20205,
                                "loc": {
                                  "start": {
                                    "line": 533,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 533,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 20188,
                                  "end": 20192,
                                  "loc": {
                                    "start": {
                                      "line": 533,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 533,
                                      "column": 30
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20193,
                                  "end": 20205,
                                  "loc": {
                                    "start": {
                                      "line": 533,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 533,
                                      "column": 43
                                    }
                                  },
                                  "name": "requestModal"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 20206,
                                  "end": 20517,
                                  "loc": {
                                    "start": {
                                      "line": 533,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 540,
                                      "column": 9
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 20220,
                                      "end": 20250,
                                      "loc": {
                                        "start": {
                                          "line": 534,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 534,
                                          "column": 42
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 20220,
                                        "end": 20225,
                                        "loc": {
                                          "start": {
                                            "line": 534,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 534,
                                            "column": 17
                                          }
                                        },
                                        "name": "title"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 20227,
                                        "end": 20250,
                                        "loc": {
                                          "start": {
                                            "line": 534,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 534,
                                            "column": 42
                                          }
                                        },
                                        "value": "Constraint parameters",
                                        "rawValue": "Constraint parameters",
                                        "raw": "'Constraint parameters'"
                                      },
                                      "kind": "init"
                                    },
                                    {
                                      "type": "Property",
                                      "start": 20264,
                                      "end": 20506,
                                      "loc": {
                                        "start": {
                                          "line": 535,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 539,
                                          "column": 13
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 20264,
                                        "end": 20272,
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 535,
                                            "column": 20
                                          }
                                        },
                                        "name": "elements"
                                      },
                                      "value": {
                                        "type": "ArrayExpression",
                                        "start": 20274,
                                        "end": 20506,
                                        "loc": {
                                          "start": {
                                            "line": 535,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 539,
                                            "column": 13
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 20288,
                                            "end": 20351,
                                            "loc": {
                                              "start": {
                                                "line": 536,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 536,
                                                "column": 75
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 20289,
                                                "end": 20307,
                                                "loc": {
                                                  "start": {
                                                    "line": 536,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 536,
                                                    "column": 31
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20289,
                                                  "end": 20293,
                                                  "loc": {
                                                    "start": {
                                                      "line": 536,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 536,
                                                      "column": 17
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 20295,
                                                  "end": 20307,
                                                  "loc": {
                                                    "start": {
                                                      "line": 536,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 536,
                                                      "column": 31
                                                    }
                                                  },
                                                  "value": "expression",
                                                  "rawValue": "expression",
                                                  "raw": "'expression'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 20309,
                                                "end": 20321,
                                                "loc": {
                                                  "start": {
                                                    "line": 536,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 536,
                                                    "column": 45
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20309,
                                                  "end": 20313,
                                                  "loc": {
                                                    "start": {
                                                      "line": 536,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 536,
                                                      "column": 37
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 20315,
                                                  "end": 20321,
                                                  "loc": {
                                                    "start": {
                                                      "line": 536,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 536,
                                                      "column": 45
                                                    }
                                                  },
                                                  "value": "text",
                                                  "rawValue": "text",
                                                  "raw": "'text'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 20323,
                                                "end": 20350,
                                                "loc": {
                                                  "start": {
                                                    "line": 536,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 536,
                                                    "column": 74
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20323,
                                                  "end": 20328,
                                                  "loc": {
                                                    "start": {
                                                      "line": 536,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 536,
                                                      "column": 52
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 20330,
                                                  "end": 20350,
                                                  "loc": {
                                                    "start": {
                                                      "line": 536,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 536,
                                                      "column": 74
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 20330,
                                                    "end": 20339,
                                                    "loc": {
                                                      "start": {
                                                        "line": 536,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 536,
                                                        "column": 63
                                                      }
                                                    },
                                                    "name": "oldParams"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 20340,
                                                    "end": 20350,
                                                    "loc": {
                                                      "start": {
                                                        "line": 536,
                                                        "column": 64
                                                      },
                                                      "end": {
                                                        "line": 536,
                                                        "column": 74
                                                      }
                                                    },
                                                    "name": "expression"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "start": 20365,
                                            "end": 20420,
                                            "loc": {
                                              "start": {
                                                "line": 537,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 537,
                                                "column": 67
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 20366,
                                                "end": 20379,
                                                "loc": {
                                                  "start": {
                                                    "line": 537,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 537,
                                                    "column": 26
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20366,
                                                  "end": 20370,
                                                  "loc": {
                                                    "start": {
                                                      "line": 537,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 537,
                                                      "column": 17
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 20372,
                                                  "end": 20379,
                                                  "loc": {
                                                    "start": {
                                                      "line": 537,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 537,
                                                      "column": 26
                                                    }
                                                  },
                                                  "value": "value",
                                                  "rawValue": "value",
                                                  "raw": "'value'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 20381,
                                                "end": 20395,
                                                "loc": {
                                                  "start": {
                                                    "line": 537,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 537,
                                                    "column": 42
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20381,
                                                  "end": 20385,
                                                  "loc": {
                                                    "start": {
                                                      "line": 537,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 537,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 20387,
                                                  "end": 20395,
                                                  "loc": {
                                                    "start": {
                                                      "line": 537,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 537,
                                                      "column": 42
                                                    }
                                                  },
                                                  "value": "number",
                                                  "rawValue": "number",
                                                  "raw": "'number'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 20397,
                                                "end": 20419,
                                                "loc": {
                                                  "start": {
                                                    "line": 537,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 537,
                                                    "column": 66
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20397,
                                                  "end": 20402,
                                                  "loc": {
                                                    "start": {
                                                      "line": 537,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 537,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 20404,
                                                  "end": 20419,
                                                  "loc": {
                                                    "start": {
                                                      "line": 537,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 537,
                                                      "column": 66
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 20404,
                                                    "end": 20413,
                                                    "loc": {
                                                      "start": {
                                                        "line": 537,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 537,
                                                        "column": 60
                                                      }
                                                    },
                                                    "name": "oldParams"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 20414,
                                                    "end": 20419,
                                                    "loc": {
                                                      "start": {
                                                        "line": 537,
                                                        "column": 61
                                                      },
                                                      "end": {
                                                        "line": 537,
                                                        "column": 66
                                                      }
                                                    },
                                                    "name": "value"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "start": 20434,
                                            "end": 20491,
                                            "loc": {
                                              "start": {
                                                "line": 538,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 538,
                                                "column": 69
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 20435,
                                                "end": 20448,
                                                "loc": {
                                                  "start": {
                                                    "line": 538,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 538,
                                                    "column": 26
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20435,
                                                  "end": 20439,
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 17
                                                    }
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 20441,
                                                  "end": 20448,
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 26
                                                    }
                                                  },
                                                  "value": "fixed",
                                                  "rawValue": "fixed",
                                                  "raw": "'fixed'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 20450,
                                                "end": 20466,
                                                "loc": {
                                                  "start": {
                                                    "line": 538,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 538,
                                                    "column": 44
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20450,
                                                  "end": 20454,
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 20456,
                                                  "end": 20466,
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 44
                                                    }
                                                  },
                                                  "value": "checkbox",
                                                  "rawValue": "checkbox",
                                                  "raw": "'checkbox'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 20468,
                                                "end": 20490,
                                                "loc": {
                                                  "start": {
                                                    "line": 538,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 538,
                                                    "column": 68
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 20468,
                                                  "end": 20473,
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 51
                                                    }
                                                  },
                                                  "name": "value"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 20475,
                                                  "end": 20490,
                                                  "loc": {
                                                    "start": {
                                                      "line": 538,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 538,
                                                      "column": 68
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 20475,
                                                    "end": 20484,
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 62
                                                      }
                                                    },
                                                    "name": "oldParams"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 20485,
                                                    "end": 20490,
                                                    "loc": {
                                                      "start": {
                                                        "line": 538,
                                                        "column": 63
                                                      },
                                                      "end": {
                                                        "line": 538,
                                                        "column": 68
                                                      }
                                                    },
                                                    "name": "fixed"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 20528,
                      "end": 20612,
                      "loc": {
                        "start": {
                          "line": 541,
                          "column": 8
                        },
                        "end": {
                          "line": 541,
                          "column": 92
                        }
                      },
                      "argument": {
                        "type": "ObjectExpression",
                        "start": 20535,
                        "end": 20611,
                        "loc": {
                          "start": {
                            "line": 541,
                            "column": 15
                          },
                          "end": {
                            "line": 541,
                            "column": 91
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 20536,
                            "end": 20560,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 16
                              },
                              "end": {
                                "line": 541,
                                "column": 40
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 20536,
                              "end": 20546,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 16
                                },
                                "end": {
                                  "line": 541,
                                  "column": 26
                                }
                              },
                              "name": "expression"
                            },
                            "value": {
                              "type": "MemberExpression",
                              "start": 20548,
                              "end": 20560,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 28
                                },
                                "end": {
                                  "line": 541,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 20548,
                                "end": 20554,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 20548,
                                  "end": 20551,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 31
                                    }
                                  },
                                  "name": "ans"
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 20552,
                                  "end": 20553,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 33
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20555,
                                "end": 20560,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 40
                                  }
                                },
                                "name": "value"
                              },
                              "computed": false
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 20562,
                            "end": 20589,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 42
                              },
                              "end": {
                                "line": 541,
                                "column": 69
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 20562,
                              "end": 20567,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 42
                                },
                                "end": {
                                  "line": 541,
                                  "column": 47
                                }
                              },
                              "name": "value"
                            },
                            "value": {
                              "type": "CallExpression",
                              "start": 20569,
                              "end": 20589,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 49
                                },
                                "end": {
                                  "line": 541,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 20569,
                                "end": 20575,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 55
                                  }
                                },
                                "name": "Number"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 20576,
                                  "end": 20588,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 68
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 20576,
                                    "end": 20582,
                                    "loc": {
                                      "start": {
                                        "line": 541,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 541,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 20576,
                                      "end": 20579,
                                      "loc": {
                                        "start": {
                                          "line": 541,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 541,
                                          "column": 59
                                        }
                                      },
                                      "name": "ans"
                                    },
                                    "property": {
                                      "type": "Literal",
                                      "start": 20580,
                                      "end": 20581,
                                      "loc": {
                                        "start": {
                                          "line": 541,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 541,
                                          "column": 61
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20583,
                                    "end": 20588,
                                    "loc": {
                                      "start": {
                                        "line": 541,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 541,
                                        "column": 68
                                      }
                                    },
                                    "name": "value"
                                  },
                                  "computed": false
                                }
                              ]
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 20591,
                            "end": 20610,
                            "loc": {
                              "start": {
                                "line": 541,
                                "column": 71
                              },
                              "end": {
                                "line": 541,
                                "column": 90
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 20591,
                              "end": 20596,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 71
                                },
                                "end": {
                                  "line": 541,
                                  "column": 76
                                }
                              },
                              "name": "fixed"
                            },
                            "value": {
                              "type": "MemberExpression",
                              "start": 20598,
                              "end": 20610,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 78
                                },
                                "end": {
                                  "line": 541,
                                  "column": 90
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 20598,
                                "end": 20604,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 84
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 20598,
                                  "end": 20601,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 81
                                    }
                                  },
                                  "name": "ans"
                                },
                                "property": {
                                  "type": "Literal",
                                  "start": 20602,
                                  "end": 20603,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 83
                                    }
                                  },
                                  "value": 2,
                                  "rawValue": 2,
                                  "raw": "2"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20605,
                                "end": 20610,
                                "loc": {
                                  "start": {
                                    "line": 541,
                                    "column": 85
                                  },
                                  "end": {
                                    "line": 541,
                                    "column": 90
                                  }
                                },
                                "name": "value"
                              },
                              "computed": false
                            },
                            "kind": "init"
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Makes given THREE object suitable for visualization on given View.\n     * It adds interaction on the object with update method.\n     * The update method allows to automatically recalculate sizes and visible geometry of the object.\n     * The function can be called many times, but the object must not have other interaction on it.\n     * Ideally, this method should be called immediately after the object has been created.\n     ",
                  "start": 20624,
                  "end": 21065,
                  "loc": {
                    "start": {
                      "line": 544,
                      "column": 4
                    },
                    "end": {
                      "line": 550,
                      "column": 7
                    }
                  },
                  "range": [
                    20624,
                    21065
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 21070,
              "end": 21285,
              "loc": {
                "start": {
                  "line": 551,
                  "column": 4
                },
                "end": {
                  "line": 557,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21077,
                "end": 21098,
                "loc": {
                  "start": {
                    "line": 551,
                    "column": 11
                  },
                  "end": {
                    "line": 551,
                    "column": 32
                  }
                },
                "name": "registerVisualization"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21098,
                "end": 21285,
                "loc": {
                  "start": {
                    "line": 551,
                    "column": 32
                  },
                  "end": {
                    "line": 557,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 21099,
                    "end": 21103,
                    "loc": {
                      "start": {
                        "line": 551,
                        "column": 33
                      },
                      "end": {
                        "line": 551,
                        "column": 37
                      }
                    },
                    "name": "view"
                  },
                  {
                    "type": "Identifier",
                    "start": 21105,
                    "end": 21108,
                    "loc": {
                      "start": {
                        "line": 551,
                        "column": 39
                      },
                      "end": {
                        "line": 551,
                        "column": 42
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 21110,
                  "end": 21285,
                  "loc": {
                    "start": {
                      "line": 551,
                      "column": 44
                    },
                    "end": {
                      "line": 557,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 21120,
                      "end": 21279,
                      "loc": {
                        "start": {
                          "line": 552,
                          "column": 8
                        },
                        "end": {
                          "line": 556,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21120,
                        "end": 21278,
                        "loc": {
                          "start": {
                            "line": 552,
                            "column": 8
                          },
                          "end": {
                            "line": 556,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21120,
                          "end": 21187,
                          "loc": {
                            "start": {
                              "line": 552,
                              "column": 8
                            },
                            "end": {
                              "line": 554,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 21120,
                            "end": 21184,
                            "loc": {
                              "start": {
                                "line": 552,
                                "column": 8
                              },
                              "end": {
                                "line": 554,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 21120,
                              "end": 21141,
                              "loc": {
                                "start": {
                                  "line": 552,
                                  "column": 8
                                },
                                "end": {
                                  "line": 552,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 21120,
                                "end": 21123,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 552,
                                    "column": 11
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 21124,
                                "end": 21141,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 552,
                                    "column": 29
                                  }
                                },
                                "name": "createInteraction"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 21142,
                                "end": 21183,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 554,
                                    "column": 9
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 21156,
                                    "end": 21172,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 28
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 21156,
                                      "end": 21164,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 20
                                        }
                                      },
                                      "name": "priority"
                                    },
                                    "value": {
                                      "type": "UnaryExpression",
                                      "start": 21166,
                                      "end": 21172,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 28
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 21167,
                                        "end": 21172,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 28
                                          }
                                        },
                                        "value": 10000,
                                        "rawValue": 10000,
                                        "raw": "10000"
                                      }
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21185,
                            "end": 21187,
                            "loc": {
                              "start": {
                                "line": 554,
                                "column": 11
                              },
                              "end": {
                                "line": 554,
                                "column": 13
                              }
                            },
                            "name": "on"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 21188,
                            "end": 21277,
                            "loc": {
                              "start": {
                                "line": 554,
                                "column": 14
                              },
                              "end": {
                                "line": 556,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 21202,
                                "end": 21266,
                                "loc": {
                                  "start": {
                                    "line": 555,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 76
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": true,
                                "key": {
                                  "type": "MemberExpression",
                                  "start": 21203,
                                  "end": 21236,
                                  "loc": {
                                    "start": {
                                      "line": 555,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 555,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 21203,
                                    "end": 21227,
                                    "loc": {
                                      "start": {
                                        "line": 555,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 555,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 21203,
                                      "end": 21217,
                                      "loc": {
                                        "start": {
                                          "line": 555,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 555,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 21203,
                                        "end": 21210,
                                        "loc": {
                                          "start": {
                                            "line": 555,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 555,
                                            "column": 20
                                          }
                                        },
                                        "name": "Object3"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21211,
                                        "end": 21217,
                                        "loc": {
                                          "start": {
                                            "line": 555,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 555,
                                            "column": 27
                                          }
                                        },
                                        "name": "Events"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 21218,
                                      "end": 21227,
                                      "loc": {
                                        "start": {
                                          "line": 555,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 555,
                                          "column": 37
                                        }
                                      },
                                      "name": "Lifecycle"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 21228,
                                    "end": 21236,
                                    "loc": {
                                      "start": {
                                        "line": 555,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 555,
                                        "column": 46
                                      }
                                    },
                                    "name": "Rendered"
                                  },
                                  "computed": false
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 21239,
                                  "end": 21266,
                                  "loc": {
                                    "start": {
                                      "line": 555,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 555,
                                      "column": 76
                                    }
                                  },
                                  "name": "updateSizesAndVisualization"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Makes given THREE object suitable for visualization on given View.\n     * It adds interaction on the object with update method.\n     * The update method allows to automatically recalculate sizes and visible geometry of the object.\n     * The function can be called many times, but the object must not have other interaction on it.\n     * Ideally, this method should be called immediately after the object has been created.\n     ",
                  "start": 20624,
                  "end": 21065,
                  "loc": {
                    "start": {
                      "line": 544,
                      "column": 4
                    },
                    "end": {
                      "line": 550,
                      "column": 7
                    }
                  },
                  "range": [
                    20624,
                    21065
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * A mixin which adds capability of specifying sizes in screen pixels.\n     * All sizes are kept in a single list 'pixelSizes'.\n     * Method 'updateSizes' is added: it should be called by user when camera/size changes.\n     * It passes geometrical sizes (in local object space) to method 'setGeomSizes'.\n     * If 'getSizingPoint' method is present in class, it is called to get\n     * calibrating position in local space of the object (otherwise origin is used).\n     ",
                  "start": 21291,
                  "end": 21771,
                  "loc": {
                    "start": {
                      "line": 559,
                      "column": 4
                    },
                    "end": {
                      "line": 566,
                      "column": 7
                    }
                  },
                  "range": [
                    21291,
                    21771
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 21776,
              "end": 22940,
              "loc": {
                "start": {
                  "line": 567,
                  "column": 4
                },
                "end": {
                  "line": 595,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21783,
                "end": 21806,
                "loc": {
                  "start": {
                    "line": 567,
                    "column": 11
                  },
                  "end": {
                    "line": 567,
                    "column": 34
                  }
                },
                "name": "mixinPixelSizedGeometry"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21806,
                "end": 22940,
                "loc": {
                  "start": {
                    "line": 567,
                    "column": 34
                  },
                  "end": {
                    "line": 595,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 21807,
                    "end": 21817,
                    "loc": {
                      "start": {
                        "line": 567,
                        "column": 35
                      },
                      "end": {
                        "line": 567,
                        "column": 45
                      }
                    },
                    "name": "pixelSizes"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 21819,
                  "end": 22940,
                  "loc": {
                    "start": {
                      "line": 567,
                      "column": 47
                    },
                    "end": {
                      "line": 595,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 21829,
                      "end": 21967,
                      "loc": {
                        "start": {
                          "line": 568,
                          "column": 8
                        },
                        "end": {
                          "line": 571,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 21833,
                        "end": 21866,
                        "loc": {
                          "start": {
                            "line": 568,
                            "column": 12
                          },
                          "end": {
                            "line": 568,
                            "column": 45
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 21835,
                          "end": 21865,
                          "loc": {
                            "start": {
                              "line": 568,
                              "column": 14
                            },
                            "end": {
                              "line": 568,
                              "column": 44
                            }
                          },
                          "left": {
                            "type": "ThisExpression",
                            "start": 21835,
                            "end": 21839,
                            "loc": {
                              "start": {
                                "line": 568,
                                "column": 14
                              },
                              "end": {
                                "line": 568,
                                "column": 18
                              }
                            }
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "MemberExpression",
                            "start": 21851,
                            "end": 21865,
                            "loc": {
                              "start": {
                                "line": 568,
                                "column": 30
                              },
                              "end": {
                                "line": 568,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 21851,
                              "end": 21856,
                              "loc": {
                                "start": {
                                  "line": 568,
                                  "column": 30
                                },
                                "end": {
                                  "line": 568,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21857,
                              "end": 21865,
                              "loc": {
                                "start": {
                                  "line": 568,
                                  "column": 36
                                },
                                "end": {
                                  "line": 568,
                                  "column": 44
                                }
                              },
                              "name": "Object3D"
                            },
                            "computed": false
                          },
                          "parenthesizedExpression": true
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 21868,
                        "end": 21967,
                        "loc": {
                          "start": {
                            "line": 568,
                            "column": 47
                          },
                          "end": {
                            "line": 571,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 21882,
                            "end": 21937,
                            "loc": {
                              "start": {
                                "line": 569,
                                "column": 12
                              },
                              "end": {
                                "line": 569,
                                "column": 67
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 21882,
                              "end": 21936,
                              "loc": {
                                "start": {
                                  "line": 569,
                                  "column": 12
                                },
                                "end": {
                                  "line": 569,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 21882,
                                "end": 21894,
                                "loc": {
                                  "start": {
                                    "line": 569,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 569,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 21882,
                                  "end": 21889,
                                  "loc": {
                                    "start": {
                                      "line": 569,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 569,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 21890,
                                  "end": 21894,
                                  "loc": {
                                    "start": {
                                      "line": 569,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 569,
                                      "column": 24
                                    }
                                  },
                                  "name": "warn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 21895,
                                  "end": 21935,
                                  "loc": {
                                    "start": {
                                      "line": 569,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 569,
                                      "column": 65
                                    }
                                  },
                                  "value": "PixelSizedGeometry: not a THREE object",
                                  "rawValue": "PixelSizedGeometry: not a THREE object",
                                  "raw": "\"PixelSizedGeometry: not a THREE object\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 21950,
                            "end": 21957,
                            "loc": {
                              "start": {
                                "line": 570,
                                "column": 12
                              },
                              "end": {
                                "line": 570,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 21976,
                      "end": 22105,
                      "loc": {
                        "start": {
                          "line": 572,
                          "column": 8
                        },
                        "end": {
                          "line": 575,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 21980,
                        "end": 21998,
                        "loc": {
                          "start": {
                            "line": 572,
                            "column": 12
                          },
                          "end": {
                            "line": 572,
                            "column": 30
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 21981,
                          "end": 21998,
                          "loc": {
                            "start": {
                              "line": 572,
                              "column": 13
                            },
                            "end": {
                              "line": 572,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21981,
                            "end": 21985,
                            "loc": {
                              "start": {
                                "line": 572,
                                "column": 13
                              },
                              "end": {
                                "line": 572,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21986,
                            "end": 21998,
                            "loc": {
                              "start": {
                                "line": 572,
                                "column": 18
                              },
                              "end": {
                                "line": 572,
                                "column": 30
                              }
                            },
                            "name": "setGeomSizes"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 22000,
                        "end": 22105,
                        "loc": {
                          "start": {
                            "line": 572,
                            "column": 32
                          },
                          "end": {
                            "line": 575,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 22014,
                            "end": 22075,
                            "loc": {
                              "start": {
                                "line": 573,
                                "column": 12
                              },
                              "end": {
                                "line": 573,
                                "column": 73
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 22014,
                              "end": 22074,
                              "loc": {
                                "start": {
                                  "line": 573,
                                  "column": 12
                                },
                                "end": {
                                  "line": 573,
                                  "column": 72
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 22014,
                                "end": 22026,
                                "loc": {
                                  "start": {
                                    "line": 573,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 573,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 22014,
                                  "end": 22021,
                                  "loc": {
                                    "start": {
                                      "line": 573,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 573,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22022,
                                  "end": 22026,
                                  "loc": {
                                    "start": {
                                      "line": 573,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 573,
                                      "column": 24
                                    }
                                  },
                                  "name": "warn"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 22027,
                                  "end": 22073,
                                  "loc": {
                                    "start": {
                                      "line": 573,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 573,
                                      "column": 71
                                    }
                                  },
                                  "value": "PixelSizedGeometry: missing required methods",
                                  "rawValue": "PixelSizedGeometry: missing required methods",
                                  "raw": "\"PixelSizedGeometry: missing required methods\""
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 22088,
                            "end": 22095,
                            "loc": {
                              "start": {
                                "line": 574,
                                "column": 12
                              },
                              "end": {
                                "line": 574,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add 'pixelSizes' property (list of sizes)",
                          "start": 22115,
                          "end": 22159,
                          "loc": {
                            "start": {
                              "line": 577,
                              "column": 8
                            },
                            "end": {
                              "line": 577,
                              "column": 52
                            }
                          },
                          "range": [
                            22115,
                            22159
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22168,
                      "end": 22202,
                      "loc": {
                        "start": {
                          "line": 578,
                          "column": 8
                        },
                        "end": {
                          "line": 578,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 22172,
                        "end": 22183,
                        "loc": {
                          "start": {
                            "line": 578,
                            "column": 12
                          },
                          "end": {
                            "line": 578,
                            "column": 23
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 22173,
                          "end": 22183,
                          "loc": {
                            "start": {
                              "line": 578,
                              "column": 13
                            },
                            "end": {
                              "line": 578,
                              "column": 23
                            }
                          },
                          "name": "pixelSizes",
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22185,
                        "end": 22202,
                        "loc": {
                          "start": {
                            "line": 578,
                            "column": 25
                          },
                          "end": {
                            "line": 578,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 22185,
                          "end": 22201,
                          "loc": {
                            "start": {
                              "line": 578,
                              "column": 25
                            },
                            "end": {
                              "line": 578,
                              "column": 41
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 22185,
                            "end": 22195,
                            "loc": {
                              "start": {
                                "line": 578,
                                "column": 25
                              },
                              "end": {
                                "line": 578,
                                "column": 35
                              }
                            },
                            "name": "pixelSizes"
                          },
                          "right": {
                            "type": "Literal",
                            "start": 22198,
                            "end": 22201,
                            "loc": {
                              "start": {
                                "line": 578,
                                "column": 38
                              },
                              "end": {
                                "line": 578,
                                "column": 41
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add 'pixelSizes' property (list of sizes)",
                          "start": 22115,
                          "end": 22159,
                          "loc": {
                            "start": {
                              "line": 577,
                              "column": 8
                            },
                            "end": {
                              "line": 577,
                              "column": 52
                            }
                          },
                          "range": [
                            22115,
                            22159
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 22211,
                      "end": 22251,
                      "loc": {
                        "start": {
                          "line": 579,
                          "column": 8
                        },
                        "end": {
                          "line": 579,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 22211,
                        "end": 22250,
                        "loc": {
                          "start": {
                            "line": 579,
                            "column": 8
                          },
                          "end": {
                            "line": 579,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 22211,
                          "end": 22226,
                          "loc": {
                            "start": {
                              "line": 579,
                              "column": 8
                            },
                            "end": {
                              "line": 579,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 22211,
                            "end": 22215,
                            "loc": {
                              "start": {
                                "line": 579,
                                "column": 8
                              },
                              "end": {
                                "line": 579,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22216,
                            "end": 22226,
                            "loc": {
                              "start": {
                                "line": 579,
                                "column": 13
                              },
                              "end": {
                                "line": 579,
                                "column": 23
                              }
                            },
                            "name": "pixelSizes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 22229,
                          "end": 22250,
                          "loc": {
                            "start": {
                              "line": 579,
                              "column": 26
                            },
                            "end": {
                              "line": 579,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 22229,
                            "end": 22238,
                            "loc": {
                              "start": {
                                "line": 579,
                                "column": 26
                              },
                              "end": {
                                "line": 579,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 22229,
                              "end": 22231,
                              "loc": {
                                "start": {
                                  "line": 579,
                                  "column": 26
                                },
                                "end": {
                                  "line": 579,
                                  "column": 28
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22232,
                              "end": 22238,
                              "loc": {
                                "start": {
                                  "line": 579,
                                  "column": 29
                                },
                                "end": {
                                  "line": 579,
                                  "column": 35
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 22239,
                              "end": 22249,
                              "loc": {
                                "start": {
                                  "line": 579,
                                  "column": 36
                                },
                                "end": {
                                  "line": 579,
                                  "column": 46
                                }
                              },
                              "name": "pixelSizes"
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add trivial method implementation (if missing)",
                          "start": 22261,
                          "end": 22310,
                          "loc": {
                            "start": {
                              "line": 581,
                              "column": 8
                            },
                            "end": {
                              "line": 581,
                              "column": 57
                            }
                          },
                          "range": [
                            22261,
                            22310
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 22319,
                      "end": 22423,
                      "loc": {
                        "start": {
                          "line": 582,
                          "column": 8
                        },
                        "end": {
                          "line": 583,
                          "column": 78
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 22323,
                        "end": 22343,
                        "loc": {
                          "start": {
                            "line": 582,
                            "column": 12
                          },
                          "end": {
                            "line": 582,
                            "column": 32
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 22324,
                          "end": 22343,
                          "loc": {
                            "start": {
                              "line": 582,
                              "column": 13
                            },
                            "end": {
                              "line": 582,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 22324,
                            "end": 22328,
                            "loc": {
                              "start": {
                                "line": 582,
                                "column": 13
                              },
                              "end": {
                                "line": 582,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22329,
                            "end": 22343,
                            "loc": {
                              "start": {
                                "line": 582,
                                "column": 18
                              },
                              "end": {
                                "line": 582,
                                "column": 32
                              }
                            },
                            "name": "getSizingPoint"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 22357,
                        "end": 22423,
                        "loc": {
                          "start": {
                            "line": 583,
                            "column": 12
                          },
                          "end": {
                            "line": 583,
                            "column": 78
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 22357,
                          "end": 22422,
                          "loc": {
                            "start": {
                              "line": 583,
                              "column": 12
                            },
                            "end": {
                              "line": 583,
                              "column": 77
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 22357,
                            "end": 22376,
                            "loc": {
                              "start": {
                                "line": 583,
                                "column": 12
                              },
                              "end": {
                                "line": 583,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 22357,
                              "end": 22361,
                              "loc": {
                                "start": {
                                  "line": 583,
                                  "column": 12
                                },
                                "end": {
                                  "line": 583,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22362,
                              "end": 22376,
                              "loc": {
                                "start": {
                                  "line": 583,
                                  "column": 17
                                },
                                "end": {
                                  "line": 583,
                                  "column": 31
                                }
                              },
                              "name": "getSizingPoint"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "FunctionExpression",
                            "start": 22379,
                            "end": 22422,
                            "loc": {
                              "start": {
                                "line": 583,
                                "column": 34
                              },
                              "end": {
                                "line": 583,
                                "column": 77
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 22391,
                              "end": 22422,
                              "loc": {
                                "start": {
                                  "line": 583,
                                  "column": 46
                                },
                                "end": {
                                  "line": 583,
                                  "column": 77
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 22393,
                                  "end": 22420,
                                  "loc": {
                                    "start": {
                                      "line": 583,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 583,
                                      "column": 75
                                    }
                                  },
                                  "argument": {
                                    "type": "NewExpression",
                                    "start": 22400,
                                    "end": 22419,
                                    "loc": {
                                      "start": {
                                        "line": 583,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 583,
                                        "column": 74
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22404,
                                      "end": 22417,
                                      "loc": {
                                        "start": {
                                          "line": 583,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 583,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22404,
                                        "end": 22409,
                                        "loc": {
                                          "start": {
                                            "line": 583,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 583,
                                            "column": 64
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22410,
                                        "end": 22417,
                                        "loc": {
                                          "start": {
                                            "line": 583,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 583,
                                            "column": 72
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ]
                            }
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add trivial method implementation (if missing)",
                          "start": 22261,
                          "end": 22310,
                          "loc": {
                            "start": {
                              "line": 581,
                              "column": 8
                            },
                            "end": {
                              "line": 581,
                              "column": 57
                            }
                          },
                          "range": [
                            22261,
                            22310
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add the main method which updates geometrical sizes",
                          "start": 22433,
                          "end": 22487,
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 8
                            },
                            "end": {
                              "line": 585,
                              "column": 62
                            }
                          },
                          "range": [
                            22433,
                            22487
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 22496,
                      "end": 22934,
                      "loc": {
                        "start": {
                          "line": 586,
                          "column": 8
                        },
                        "end": {
                          "line": 594,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 22496,
                        "end": 22933,
                        "loc": {
                          "start": {
                            "line": 586,
                            "column": 8
                          },
                          "end": {
                            "line": 594,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 22496,
                          "end": 22512,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 8
                            },
                            "end": {
                              "line": 586,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 22496,
                            "end": 22500,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 8
                              },
                              "end": {
                                "line": 586,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22501,
                            "end": 22512,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 13
                              },
                              "end": {
                                "line": 586,
                                "column": 24
                              }
                            },
                            "name": "updateSizes"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 22515,
                          "end": 22933,
                          "loc": {
                            "start": {
                              "line": 586,
                              "column": 27
                            },
                            "end": {
                              "line": 594,
                              "column": 9
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 22524,
                              "end": 22528,
                              "loc": {
                                "start": {
                                  "line": 586,
                                  "column": 36
                                },
                                "end": {
                                  "line": 586,
                                  "column": 40
                                }
                              },
                              "name": "view"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 22530,
                            "end": 22933,
                            "loc": {
                              "start": {
                                "line": 586,
                                "column": 42
                              },
                              "end": {
                                "line": 594,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 22544,
                                "end": 22576,
                                "loc": {
                                  "start": {
                                    "line": 587,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 587,
                                    "column": 44
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 22548,
                                    "end": 22575,
                                    "loc": {
                                      "start": {
                                        "line": 587,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 587,
                                        "column": 43
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 22548,
                                      "end": 22551,
                                      "loc": {
                                        "start": {
                                          "line": 587,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 587,
                                          "column": 19
                                        }
                                      },
                                      "name": "pos"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 22554,
                                      "end": 22575,
                                      "loc": {
                                        "start": {
                                          "line": 587,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 587,
                                          "column": 43
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 22554,
                                        "end": 22573,
                                        "loc": {
                                          "start": {
                                            "line": 587,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 587,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 22554,
                                          "end": 22558,
                                          "loc": {
                                            "start": {
                                              "line": 587,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 587,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 22559,
                                          "end": 22573,
                                          "loc": {
                                            "start": {
                                              "line": 587,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 587,
                                              "column": 41
                                            }
                                          },
                                          "name": "getSizingPoint"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 22589,
                                "end": 22645,
                                "loc": {
                                  "start": {
                                    "line": 588,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 68
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 22593,
                                    "end": 22644,
                                    "loc": {
                                      "start": {
                                        "line": 588,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 588,
                                        "column": 67
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 22593,
                                      "end": 22596,
                                      "loc": {
                                        "start": {
                                          "line": 588,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 588,
                                          "column": 19
                                        }
                                      },
                                      "name": "scr"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 22599,
                                      "end": 22644,
                                      "loc": {
                                        "start": {
                                          "line": 588,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 588,
                                          "column": 67
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 22599,
                                        "end": 22621,
                                        "loc": {
                                          "start": {
                                            "line": 588,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 588,
                                            "column": 44
                                          }
                                        },
                                        "name": "transformWorldToScreen"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 22622,
                                          "end": 22626,
                                          "loc": {
                                            "start": {
                                              "line": 588,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 588,
                                              "column": 49
                                            }
                                          },
                                          "name": "view"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 22628,
                                          "end": 22631,
                                          "loc": {
                                            "start": {
                                              "line": 588,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 588,
                                              "column": 54
                                            }
                                          },
                                          "name": "pos"
                                        },
                                        {
                                          "type": "ThisExpression",
                                          "start": 22633,
                                          "end": 22637,
                                          "loc": {
                                            "start": {
                                              "line": 588,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 588,
                                              "column": 60
                                            }
                                          }
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 22639,
                                          "end": 22643,
                                          "loc": {
                                            "start": {
                                              "line": 588,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 588,
                                              "column": 66
                                            }
                                          },
                                          "value": true,
                                          "rawValue": true,
                                          "raw": "true"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 22658,
                                "end": 22720,
                                "loc": {
                                  "start": {
                                    "line": 589,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 589,
                                    "column": 74
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 22662,
                                    "end": 22719,
                                    "loc": {
                                      "start": {
                                        "line": 589,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 589,
                                        "column": 73
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 22662,
                                      "end": 22667,
                                      "loc": {
                                        "start": {
                                          "line": 589,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 589,
                                          "column": 21
                                        }
                                      },
                                      "name": "coeff"
                                    },
                                    "init": {
                                      "type": "BinaryExpression",
                                      "start": 22670,
                                      "end": 22719,
                                      "loc": {
                                        "start": {
                                          "line": 589,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 589,
                                          "column": 73
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 22670,
                                        "end": 22673,
                                        "loc": {
                                          "start": {
                                            "line": 589,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 589,
                                            "column": 27
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1.0"
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 22676,
                                        "end": 22719,
                                        "loc": {
                                          "start": {
                                            "line": 589,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 589,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 22676,
                                          "end": 22714,
                                          "loc": {
                                            "start": {
                                              "line": 589,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 589,
                                              "column": 68
                                            }
                                          },
                                          "name": "calculateWorldToScreenRadiusMultiplier"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 22715,
                                            "end": 22718,
                                            "loc": {
                                              "start": {
                                                "line": 589,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 589,
                                                "column": 72
                                              }
                                            },
                                            "name": "scr"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 22733,
                                "end": 22770,
                                "loc": {
                                  "start": {
                                    "line": 590,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 590,
                                    "column": 49
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 22737,
                                    "end": 22769,
                                    "loc": {
                                      "start": {
                                        "line": 590,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 590,
                                        "column": 48
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 22737,
                                      "end": 22742,
                                      "loc": {
                                        "start": {
                                          "line": 590,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 590,
                                          "column": 21
                                        }
                                      },
                                      "name": "sizes"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 22745,
                                      "end": 22769,
                                      "loc": {
                                        "start": {
                                          "line": 590,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 590,
                                          "column": 48
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 22745,
                                        "end": 22766,
                                        "loc": {
                                          "start": {
                                            "line": 590,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 590,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 22745,
                                          "end": 22760,
                                          "loc": {
                                            "start": {
                                              "line": 590,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 590,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 22745,
                                            "end": 22749,
                                            "loc": {
                                              "start": {
                                                "line": 590,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 590,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 22750,
                                            "end": 22760,
                                            "loc": {
                                              "start": {
                                                "line": 590,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 590,
                                                "column": 39
                                              }
                                            },
                                            "name": "pixelSizes"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 22761,
                                          "end": 22766,
                                          "loc": {
                                            "start": {
                                              "line": 590,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 590,
                                              "column": 45
                                            }
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 22767,
                                          "end": 22768,
                                          "loc": {
                                            "start": {
                                              "line": 590,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 590,
                                              "column": 47
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var",
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": "aka clone",
                                    "start": 22771,
                                    "end": 22782,
                                    "loc": {
                                      "start": {
                                        "line": 590,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 590,
                                        "column": 61
                                      }
                                    },
                                    "range": [
                                      22771,
                                      22782
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForStatement",
                                "start": 22795,
                                "end": 22885,
                                "loc": {
                                  "start": {
                                    "line": 591,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 592,
                                    "column": 44
                                  }
                                },
                                "init": {
                                  "type": "VariableDeclaration",
                                  "start": 22800,
                                  "end": 22827,
                                  "loc": {
                                    "start": {
                                      "line": 591,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 591,
                                      "column": 44
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 22804,
                                      "end": 22809,
                                      "loc": {
                                        "start": {
                                          "line": 591,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 591,
                                          "column": 26
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 22804,
                                        "end": 22805,
                                        "loc": {
                                          "start": {
                                            "line": 591,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 591,
                                            "column": 22
                                          }
                                        },
                                        "name": "i",
                                        "leadingComments": null
                                      },
                                      "init": {
                                        "type": "Literal",
                                        "start": 22808,
                                        "end": 22809,
                                        "loc": {
                                          "start": {
                                            "line": 591,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 591,
                                            "column": 26
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "leadingComments": null
                                    },
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 22811,
                                      "end": 22827,
                                      "loc": {
                                        "start": {
                                          "line": 591,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 591,
                                          "column": 44
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 22811,
                                        "end": 22812,
                                        "loc": {
                                          "start": {
                                            "line": 591,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 591,
                                            "column": 29
                                          }
                                        },
                                        "name": "l"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 22815,
                                        "end": 22827,
                                        "loc": {
                                          "start": {
                                            "line": 591,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 591,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 22815,
                                          "end": 22820,
                                          "loc": {
                                            "start": {
                                              "line": 591,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 591,
                                              "column": 37
                                            }
                                          },
                                          "name": "sizes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 22821,
                                          "end": 22827,
                                          "loc": {
                                            "start": {
                                              "line": 591,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 591,
                                              "column": 44
                                            }
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      }
                                    }
                                  ],
                                  "kind": "var",
                                  "leadingComments": null
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 22829,
                                  "end": 22834,
                                  "loc": {
                                    "start": {
                                      "line": 591,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 591,
                                      "column": 51
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 22829,
                                    "end": 22830,
                                    "loc": {
                                      "start": {
                                        "line": 591,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 591,
                                        "column": 47
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "operator": "<",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 22833,
                                    "end": 22834,
                                    "loc": {
                                      "start": {
                                        "line": 591,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 591,
                                        "column": 51
                                      }
                                    },
                                    "name": "l"
                                  }
                                },
                                "update": {
                                  "type": "UpdateExpression",
                                  "start": 22836,
                                  "end": 22839,
                                  "loc": {
                                    "start": {
                                      "line": 591,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 591,
                                      "column": 56
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": false,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 22836,
                                    "end": 22837,
                                    "loc": {
                                      "start": {
                                        "line": 591,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 591,
                                        "column": 54
                                      }
                                    },
                                    "name": "i"
                                  }
                                },
                                "body": {
                                  "type": "ExpressionStatement",
                                  "start": 22857,
                                  "end": 22885,
                                  "loc": {
                                    "start": {
                                      "line": 592,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 592,
                                      "column": 44
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 22857,
                                    "end": 22884,
                                    "loc": {
                                      "start": {
                                        "line": 592,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 592,
                                        "column": 43
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 22857,
                                      "end": 22865,
                                      "loc": {
                                        "start": {
                                          "line": 592,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 592,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22857,
                                        "end": 22862,
                                        "loc": {
                                          "start": {
                                            "line": 592,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 592,
                                            "column": 21
                                          }
                                        },
                                        "name": "sizes"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22863,
                                        "end": 22864,
                                        "loc": {
                                          "start": {
                                            "line": 592,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 592,
                                            "column": 23
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 22868,
                                      "end": 22884,
                                      "loc": {
                                        "start": {
                                          "line": 592,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 592,
                                          "column": 43
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 22868,
                                        "end": 22876,
                                        "loc": {
                                          "start": {
                                            "line": 592,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 592,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 22868,
                                          "end": 22873,
                                          "loc": {
                                            "start": {
                                              "line": 592,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 592,
                                              "column": 32
                                            }
                                          },
                                          "name": "sizes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 22874,
                                          "end": 22875,
                                          "loc": {
                                            "start": {
                                              "line": 592,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 592,
                                              "column": 34
                                            }
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      },
                                      "operator": "*",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 22879,
                                        "end": 22884,
                                        "loc": {
                                          "start": {
                                            "line": 592,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 592,
                                            "column": 43
                                          }
                                        },
                                        "name": "coeff"
                                      }
                                    }
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": "aka clone",
                                    "start": 22771,
                                    "end": 22782,
                                    "loc": {
                                      "start": {
                                        "line": 590,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 590,
                                        "column": 61
                                      }
                                    },
                                    "range": [
                                      22771,
                                      22782
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 22898,
                                "end": 22923,
                                "loc": {
                                  "start": {
                                    "line": 593,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 593,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 22898,
                                  "end": 22922,
                                  "loc": {
                                    "start": {
                                      "line": 593,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 593,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 22898,
                                    "end": 22915,
                                    "loc": {
                                      "start": {
                                        "line": 593,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 593,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 22898,
                                      "end": 22902,
                                      "loc": {
                                        "start": {
                                          "line": 593,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 593,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 22903,
                                      "end": 22915,
                                      "loc": {
                                        "start": {
                                          "line": 593,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 593,
                                          "column": 29
                                        }
                                      },
                                      "name": "setGeomSizes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 22916,
                                      "end": 22921,
                                      "loc": {
                                        "start": {
                                          "line": 593,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 593,
                                          "column": 35
                                        }
                                      },
                                      "name": "sizes"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add the main method which updates geometrical sizes",
                          "start": 22433,
                          "end": 22487,
                          "loc": {
                            "start": {
                              "line": 585,
                              "column": 8
                            },
                            "end": {
                              "line": 585,
                              "column": 62
                            }
                          },
                          "range": [
                            22433,
                            22487
                          ]
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * A mixin which adds capability of specifying sizes in screen pixels.\n     * All sizes are kept in a single list 'pixelSizes'.\n     * Method 'updateSizes' is added: it should be called by user when camera/size changes.\n     * It passes geometrical sizes (in local object space) to method 'setGeomSizes'.\n     * If 'getSizingPoint' method is present in class, it is called to get\n     * calibrating position in local space of the object (otherwise origin is used).\n     ",
                  "start": 21291,
                  "end": 21771,
                  "loc": {
                    "start": {
                      "line": 559,
                      "column": 4
                    },
                    "end": {
                      "line": 566,
                      "column": 7
                    }
                  },
                  "range": [
                    21291,
                    21771
                  ]
                }
              ]
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "Block",
            "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
            "start": 22944,
            "end": 23597,
            "loc": {
              "start": {
                "line": 598,
                "column": 0
              },
              "end": {
                "line": 607,
                "column": 3
              }
            },
            "range": [
              22944,
              23597
            ]
          }
        ],
        "leadingComments": []
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
          "start": 22944,
          "end": 23597,
          "loc": {
            "start": {
              "line": 598,
              "column": 0
            },
            "end": {
              "line": 607,
              "column": 3
            }
          },
          "range": [
            22944,
            23597
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 23598,
      "end": 26199,
      "loc": {
        "start": {
          "line": 608,
          "column": 0
        },
        "end": {
          "line": 666,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 23607,
        "end": 23629,
        "loc": {
          "start": {
            "line": 608,
            "column": 9
          },
          "end": {
            "line": 608,
            "column": 31
          }
        },
        "name": "transformWorldToScreen",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 23630,
          "end": 23634,
          "loc": {
            "start": {
              "line": 608,
              "column": 32
            },
            "end": {
              "line": 608,
              "column": 36
            }
          },
          "name": "view"
        },
        {
          "type": "Identifier",
          "start": 23636,
          "end": 23644,
          "loc": {
            "start": {
              "line": 608,
              "column": 38
            },
            "end": {
              "line": 608,
              "column": 46
            }
          },
          "name": "position"
        },
        {
          "type": "Identifier",
          "start": 23646,
          "end": 23658,
          "loc": {
            "start": {
              "line": 608,
              "column": 48
            },
            "end": {
              "line": 608,
              "column": 60
            }
          },
          "name": "localToWorld"
        },
        {
          "type": "Identifier",
          "start": 23660,
          "end": 23670,
          "loc": {
            "start": {
              "line": 608,
              "column": 62
            },
            "end": {
              "line": 608,
              "column": 72
            }
          },
          "name": "withDerivs"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 23672,
        "end": 26199,
        "loc": {
          "start": {
            "line": 608,
            "column": 74
          },
          "end": {
            "line": 666,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 23739,
            "end": 23881,
            "loc": {
              "start": {
                "line": 610,
                "column": 4
              },
              "end": {
                "line": 613,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 23743,
              "end": 23781,
              "loc": {
                "start": {
                  "line": 610,
                  "column": 8
                },
                "end": {
                  "line": 610,
                  "column": 46
                }
              },
              "left": {
                "type": "Identifier",
                "start": 23743,
                "end": 23755,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 8
                  },
                  "end": {
                    "line": 610,
                    "column": 20
                  }
                },
                "name": "localToWorld",
                "leadingComments": null
              },
              "operator": "instanceof",
              "right": {
                "type": "MemberExpression",
                "start": 23767,
                "end": 23781,
                "loc": {
                  "start": {
                    "line": 610,
                    "column": 32
                  },
                  "end": {
                    "line": 610,
                    "column": 46
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 23767,
                  "end": 23772,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 32
                    },
                    "end": {
                      "line": 610,
                      "column": 37
                    }
                  },
                  "name": "THREE"
                },
                "property": {
                  "type": "Identifier",
                  "start": 23773,
                  "end": 23781,
                  "loc": {
                    "start": {
                      "line": 610,
                      "column": 38
                    },
                    "end": {
                      "line": 610,
                      "column": 46
                    }
                  },
                  "name": "Object3D"
                },
                "computed": false
              },
              "leadingComments": null
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 23783,
              "end": 23881,
              "loc": {
                "start": {
                  "line": 610,
                  "column": 48
                },
                "end": {
                  "line": 613,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 23793,
                  "end": 23826,
                  "loc": {
                    "start": {
                      "line": 611,
                      "column": 8
                    },
                    "end": {
                      "line": 611,
                      "column": 41
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 23793,
                    "end": 23825,
                    "loc": {
                      "start": {
                        "line": 611,
                        "column": 8
                      },
                      "end": {
                        "line": 611,
                        "column": 40
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 23793,
                      "end": 23823,
                      "loc": {
                        "start": {
                          "line": 611,
                          "column": 8
                        },
                        "end": {
                          "line": 611,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23793,
                        "end": 23805,
                        "loc": {
                          "start": {
                            "line": 611,
                            "column": 8
                          },
                          "end": {
                            "line": 611,
                            "column": 20
                          }
                        },
                        "name": "localToWorld"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23806,
                        "end": 23823,
                        "loc": {
                          "start": {
                            "line": 611,
                            "column": 21
                          },
                          "end": {
                            "line": 611,
                            "column": 38
                          }
                        },
                        "name": "updateMatrixWorld"
                      },
                      "computed": false
                    },
                    "arguments": []
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 23835,
                  "end": 23875,
                  "loc": {
                    "start": {
                      "line": 612,
                      "column": 8
                    },
                    "end": {
                      "line": 612,
                      "column": 48
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 23835,
                    "end": 23874,
                    "loc": {
                      "start": {
                        "line": 612,
                        "column": 8
                      },
                      "end": {
                        "line": 612,
                        "column": 47
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 23835,
                      "end": 23847,
                      "loc": {
                        "start": {
                          "line": 612,
                          "column": 8
                        },
                        "end": {
                          "line": 612,
                          "column": 20
                        }
                      },
                      "name": "localToWorld"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 23850,
                      "end": 23874,
                      "loc": {
                        "start": {
                          "line": 612,
                          "column": 23
                        },
                        "end": {
                          "line": 612,
                          "column": 47
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 23850,
                        "end": 23862,
                        "loc": {
                          "start": {
                            "line": 612,
                            "column": 23
                          },
                          "end": {
                            "line": 612,
                            "column": 35
                          }
                        },
                        "name": "localToWorld"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 23863,
                        "end": 23874,
                        "loc": {
                          "start": {
                            "line": 612,
                            "column": 36
                          },
                          "end": {
                            "line": 612,
                            "column": 47
                          }
                        },
                        "name": "matrixWorld"
                      },
                      "computed": false
                    }
                  }
                }
              ]
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " extract local->world transformation used for position",
                "start": 23678,
                "end": 23734,
                "loc": {
                  "start": {
                    "line": 609,
                    "column": 4
                  },
                  "end": {
                    "line": 609,
                    "column": 60
                  }
                },
                "range": [
                  23678,
                  23734
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 23886,
            "end": 23975,
            "loc": {
              "start": {
                "line": 614,
                "column": 4
              },
              "end": {
                "line": 615,
                "column": 43
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 23890,
              "end": 23930,
              "loc": {
                "start": {
                  "line": 614,
                  "column": 8
                },
                "end": {
                  "line": 614,
                  "column": 48
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "BinaryExpression",
                "start": 23892,
                "end": 23929,
                "loc": {
                  "start": {
                    "line": 614,
                    "column": 10
                  },
                  "end": {
                    "line": 614,
                    "column": 47
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 23892,
                  "end": 23904,
                  "loc": {
                    "start": {
                      "line": 614,
                      "column": 10
                    },
                    "end": {
                      "line": 614,
                      "column": 22
                    }
                  },
                  "name": "localToWorld"
                },
                "operator": "instanceof",
                "right": {
                  "type": "MemberExpression",
                  "start": 23916,
                  "end": 23929,
                  "loc": {
                    "start": {
                      "line": 614,
                      "column": 34
                    },
                    "end": {
                      "line": 614,
                      "column": 47
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 23916,
                    "end": 23921,
                    "loc": {
                      "start": {
                        "line": 614,
                        "column": 34
                      },
                      "end": {
                        "line": 614,
                        "column": 39
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 23922,
                    "end": 23929,
                    "loc": {
                      "start": {
                        "line": 614,
                        "column": 40
                      },
                      "end": {
                        "line": 614,
                        "column": 47
                      }
                    },
                    "name": "Matrix4"
                  },
                  "computed": false
                },
                "parenthesizedExpression": true
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 23940,
              "end": 23975,
              "loc": {
                "start": {
                  "line": 615,
                  "column": 8
                },
                "end": {
                  "line": 615,
                  "column": 43
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 23940,
                "end": 23974,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 8
                  },
                  "end": {
                    "line": 615,
                    "column": 42
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 23940,
                  "end": 23952,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 8
                    },
                    "end": {
                      "line": 615,
                      "column": 20
                    }
                  },
                  "name": "localToWorld"
                },
                "right": {
                  "type": "NewExpression",
                  "start": 23955,
                  "end": 23974,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 23
                    },
                    "end": {
                      "line": 615,
                      "column": 42
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 23959,
                    "end": 23972,
                    "loc": {
                      "start": {
                        "line": 615,
                        "column": 27
                      },
                      "end": {
                        "line": 615,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 23959,
                      "end": 23964,
                      "loc": {
                        "start": {
                          "line": 615,
                          "column": 27
                        },
                        "end": {
                          "line": 615,
                          "column": 32
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 23965,
                      "end": 23972,
                      "loc": {
                        "start": {
                          "line": 615,
                          "column": 33
                        },
                        "end": {
                          "line": 615,
                          "column": 40
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              },
              "trailingComments": null
            },
            "alternate": null,
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " extract and compose transformation: input coordinates -> clip coordinates",
                "start": 23981,
                "end": 24057,
                "loc": {
                  "start": {
                    "line": 617,
                    "column": 4
                  },
                  "end": {
                    "line": 617,
                    "column": 80
                  }
                },
                "range": [
                  23981,
                  24057
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 24062,
            "end": 24094,
            "loc": {
              "start": {
                "line": 618,
                "column": 4
              },
              "end": {
                "line": 618,
                "column": 36
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 24062,
              "end": 24093,
              "loc": {
                "start": {
                  "line": 618,
                  "column": 4
                },
                "end": {
                  "line": 618,
                  "column": 35
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24062,
                "end": 24091,
                "loc": {
                  "start": {
                    "line": 618,
                    "column": 4
                  },
                  "end": {
                    "line": 618,
                    "column": 33
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 24062,
                  "end": 24073,
                  "loc": {
                    "start": {
                      "line": 618,
                      "column": 4
                    },
                    "end": {
                      "line": 618,
                      "column": 15
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 24062,
                    "end": 24066,
                    "loc": {
                      "start": {
                        "line": 618,
                        "column": 4
                      },
                      "end": {
                        "line": 618,
                        "column": 8
                      }
                    },
                    "name": "view",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 24067,
                    "end": 24073,
                    "loc": {
                      "start": {
                        "line": 618,
                        "column": 9
                      },
                      "end": {
                        "line": 618,
                        "column": 15
                      }
                    },
                    "name": "camera"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 24074,
                  "end": 24091,
                  "loc": {
                    "start": {
                      "line": 618,
                      "column": 16
                    },
                    "end": {
                      "line": 618,
                      "column": 33
                    }
                  },
                  "name": "updateMatrixWorld"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " extract and compose transformation: input coordinates -> clip coordinates",
                "start": 23981,
                "end": 24057,
                "loc": {
                  "start": {
                    "line": 617,
                    "column": 4
                  },
                  "end": {
                    "line": 617,
                    "column": 80
                  }
                },
                "range": [
                  23981,
                  24057
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24099,
            "end": 24132,
            "loc": {
              "start": {
                "line": 619,
                "column": 4
              },
              "end": {
                "line": 619,
                "column": 37
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24103,
                "end": 24131,
                "loc": {
                  "start": {
                    "line": 619,
                    "column": 8
                  },
                  "end": {
                    "line": 619,
                    "column": 36
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24103,
                  "end": 24109,
                  "loc": {
                    "start": {
                      "line": 619,
                      "column": 8
                    },
                    "end": {
                      "line": 619,
                      "column": 14
                    }
                  },
                  "name": "matrix"
                },
                "init": {
                  "type": "NewExpression",
                  "start": 24112,
                  "end": 24131,
                  "loc": {
                    "start": {
                      "line": 619,
                      "column": 17
                    },
                    "end": {
                      "line": 619,
                      "column": 36
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24116,
                    "end": 24129,
                    "loc": {
                      "start": {
                        "line": 619,
                        "column": 21
                      },
                      "end": {
                        "line": 619,
                        "column": 34
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24116,
                      "end": 24121,
                      "loc": {
                        "start": {
                          "line": 619,
                          "column": 21
                        },
                        "end": {
                          "line": 619,
                          "column": 26
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24122,
                      "end": 24129,
                      "loc": {
                        "start": {
                          "line": 619,
                          "column": 27
                        },
                        "end": {
                          "line": 619,
                          "column": 34
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 24137,
            "end": 24180,
            "loc": {
              "start": {
                "line": 620,
                "column": 4
              },
              "end": {
                "line": 620,
                "column": 47
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 24137,
              "end": 24179,
              "loc": {
                "start": {
                  "line": 620,
                  "column": 4
                },
                "end": {
                  "line": 620,
                  "column": 46
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24137,
                "end": 24154,
                "loc": {
                  "start": {
                    "line": 620,
                    "column": 4
                  },
                  "end": {
                    "line": 620,
                    "column": 21
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24137,
                  "end": 24143,
                  "loc": {
                    "start": {
                      "line": 620,
                      "column": 4
                    },
                    "end": {
                      "line": 620,
                      "column": 10
                    }
                  },
                  "name": "matrix"
                },
                "property": {
                  "type": "Identifier",
                  "start": 24144,
                  "end": 24154,
                  "loc": {
                    "start": {
                      "line": 620,
                      "column": 11
                    },
                    "end": {
                      "line": 620,
                      "column": 21
                    }
                  },
                  "name": "getInverse"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 24155,
                  "end": 24178,
                  "loc": {
                    "start": {
                      "line": 620,
                      "column": 22
                    },
                    "end": {
                      "line": 620,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 24155,
                    "end": 24166,
                    "loc": {
                      "start": {
                        "line": 620,
                        "column": 22
                      },
                      "end": {
                        "line": 620,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24155,
                      "end": 24159,
                      "loc": {
                        "start": {
                          "line": 620,
                          "column": 22
                        },
                        "end": {
                          "line": 620,
                          "column": 26
                        }
                      },
                      "name": "view"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24160,
                      "end": 24166,
                      "loc": {
                        "start": {
                          "line": 620,
                          "column": 27
                        },
                        "end": {
                          "line": 620,
                          "column": 33
                        }
                      },
                      "name": "camera"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 24167,
                    "end": 24178,
                    "loc": {
                      "start": {
                        "line": 620,
                        "column": 34
                      },
                      "end": {
                        "line": 620,
                        "column": 45
                      }
                    },
                    "name": "matrixWorld"
                  },
                  "computed": false
                }
              ]
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "modelview",
                "start": 24205,
                "end": 24216,
                "loc": {
                  "start": {
                    "line": 620,
                    "column": 72
                  },
                  "end": {
                    "line": 620,
                    "column": 83
                  }
                },
                "range": [
                  24205,
                  24216
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 24221,
            "end": 24267,
            "loc": {
              "start": {
                "line": 621,
                "column": 4
              },
              "end": {
                "line": 621,
                "column": 50
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 24221,
              "end": 24266,
              "loc": {
                "start": {
                  "line": 621,
                  "column": 4
                },
                "end": {
                  "line": 621,
                  "column": 49
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24221,
                "end": 24244,
                "loc": {
                  "start": {
                    "line": 621,
                    "column": 4
                  },
                  "end": {
                    "line": 621,
                    "column": 27
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24221,
                  "end": 24227,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 4
                    },
                    "end": {
                      "line": 621,
                      "column": 10
                    }
                  },
                  "name": "matrix",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 24228,
                  "end": 24244,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 11
                    },
                    "end": {
                      "line": 621,
                      "column": 27
                    }
                  },
                  "name": "multiplyMatrices"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 24245,
                  "end": 24251,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 28
                    },
                    "end": {
                      "line": 621,
                      "column": 34
                    }
                  },
                  "name": "matrix"
                },
                {
                  "type": "Identifier",
                  "start": 24253,
                  "end": 24265,
                  "loc": {
                    "start": {
                      "line": 621,
                      "column": 36
                    },
                    "end": {
                      "line": 621,
                      "column": 48
                    }
                  },
                  "name": "localToWorld"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "modelview",
                "start": 24205,
                "end": 24216,
                "loc": {
                  "start": {
                    "line": 620,
                    "column": 72
                  },
                  "end": {
                    "line": 620,
                    "column": 83
                  }
                },
                "range": [
                  24205,
                  24216
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "transform + modelview",
                "start": 24289,
                "end": 24312,
                "loc": {
                  "start": {
                    "line": 621,
                    "column": 72
                  },
                  "end": {
                    "line": 621,
                    "column": 95
                  }
                },
                "range": [
                  24289,
                  24312
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 24317,
            "end": 24379,
            "loc": {
              "start": {
                "line": 622,
                "column": 4
              },
              "end": {
                "line": 622,
                "column": 66
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 24317,
              "end": 24378,
              "loc": {
                "start": {
                  "line": 622,
                  "column": 4
                },
                "end": {
                  "line": 622,
                  "column": 65
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 24317,
                "end": 24340,
                "loc": {
                  "start": {
                    "line": 622,
                    "column": 4
                  },
                  "end": {
                    "line": 622,
                    "column": 27
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 24317,
                  "end": 24323,
                  "loc": {
                    "start": {
                      "line": 622,
                      "column": 4
                    },
                    "end": {
                      "line": 622,
                      "column": 10
                    }
                  },
                  "name": "matrix",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 24324,
                  "end": 24340,
                  "loc": {
                    "start": {
                      "line": 622,
                      "column": 11
                    },
                    "end": {
                      "line": 622,
                      "column": 27
                    }
                  },
                  "name": "multiplyMatrices"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "MemberExpression",
                  "start": 24341,
                  "end": 24369,
                  "loc": {
                    "start": {
                      "line": 622,
                      "column": 28
                    },
                    "end": {
                      "line": 622,
                      "column": 56
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 24341,
                    "end": 24352,
                    "loc": {
                      "start": {
                        "line": 622,
                        "column": 28
                      },
                      "end": {
                        "line": 622,
                        "column": 39
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24341,
                      "end": 24345,
                      "loc": {
                        "start": {
                          "line": 622,
                          "column": 28
                        },
                        "end": {
                          "line": 622,
                          "column": 32
                        }
                      },
                      "name": "view"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24346,
                      "end": 24352,
                      "loc": {
                        "start": {
                          "line": 622,
                          "column": 33
                        },
                        "end": {
                          "line": 622,
                          "column": 39
                        }
                      },
                      "name": "camera"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 24353,
                    "end": 24369,
                    "loc": {
                      "start": {
                        "line": 622,
                        "column": 40
                      },
                      "end": {
                        "line": 622,
                        "column": 56
                      }
                    },
                    "name": "projectionMatrix"
                  },
                  "computed": false
                },
                {
                  "type": "Identifier",
                  "start": 24371,
                  "end": 24377,
                  "loc": {
                    "start": {
                      "line": 622,
                      "column": 58
                    },
                    "end": {
                      "line": 622,
                      "column": 64
                    }
                  },
                  "name": "matrix"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "transform + modelview",
                "start": 24289,
                "end": 24312,
                "loc": {
                  "start": {
                    "line": 621,
                    "column": 72
                  },
                  "end": {
                    "line": 621,
                    "column": 95
                  }
                },
                "range": [
                  24289,
                  24312
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "tr + mv + prj",
                "start": 24385,
                "end": 24400,
                "loc": {
                  "start": {
                    "line": 622,
                    "column": 72
                  },
                  "end": {
                    "line": 622,
                    "column": 87
                  }
                },
                "range": [
                  24385,
                  24400
                ]
              },
              {
                "type": "CommentLine",
                "value": " calculate NDC coordinates",
                "start": 24406,
                "end": 24434,
                "loc": {
                  "start": {
                    "line": 624,
                    "column": 4
                  },
                  "end": {
                    "line": 624,
                    "column": 32
                  }
                },
                "range": [
                  24406,
                  24434
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24439,
            "end": 24514,
            "loc": {
              "start": {
                "line": 625,
                "column": 4
              },
              "end": {
                "line": 625,
                "column": 79
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24443,
                "end": 24513,
                "loc": {
                  "start": {
                    "line": 625,
                    "column": 8
                  },
                  "end": {
                    "line": 625,
                    "column": 78
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24443,
                  "end": 24455,
                  "loc": {
                    "start": {
                      "line": 625,
                      "column": 8
                    },
                    "end": {
                      "line": 625,
                      "column": 20
                    }
                  },
                  "name": "clipPosition",
                  "leadingComments": null
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24458,
                  "end": 24513,
                  "loc": {
                    "start": {
                      "line": 625,
                      "column": 23
                    },
                    "end": {
                      "line": 625,
                      "column": 78
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24458,
                    "end": 24505,
                    "loc": {
                      "start": {
                        "line": 625,
                        "column": 23
                      },
                      "end": {
                        "line": 625,
                        "column": 70
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 24458,
                      "end": 24492,
                      "loc": {
                        "start": {
                          "line": 625,
                          "column": 23
                        },
                        "end": {
                          "line": 625,
                          "column": 57
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 24458,
                        "end": 24482,
                        "loc": {
                          "start": {
                            "line": 625,
                            "column": 23
                          },
                          "end": {
                            "line": 625,
                            "column": 47
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 24458,
                          "end": 24477,
                          "loc": {
                            "start": {
                              "line": 625,
                              "column": 23
                            },
                            "end": {
                              "line": 625,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 24462,
                            "end": 24475,
                            "loc": {
                              "start": {
                                "line": 625,
                                "column": 27
                              },
                              "end": {
                                "line": 625,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 24462,
                              "end": 24467,
                              "loc": {
                                "start": {
                                  "line": 625,
                                  "column": 27
                                },
                                "end": {
                                  "line": 625,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 24468,
                              "end": 24475,
                              "loc": {
                                "start": {
                                  "line": 625,
                                  "column": 33
                                },
                                "end": {
                                  "line": 625,
                                  "column": 40
                                }
                              },
                              "name": "Vector4"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24478,
                          "end": 24482,
                          "loc": {
                            "start": {
                              "line": 625,
                              "column": 43
                            },
                            "end": {
                              "line": 625,
                              "column": 47
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 24483,
                          "end": 24491,
                          "loc": {
                            "start": {
                              "line": 625,
                              "column": 48
                            },
                            "end": {
                              "line": 625,
                              "column": 56
                            }
                          },
                          "name": "position"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24493,
                      "end": 24505,
                      "loc": {
                        "start": {
                          "line": 625,
                          "column": 58
                        },
                        "end": {
                          "line": 625,
                          "column": 70
                        }
                      },
                      "name": "applyMatrix4"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 24506,
                      "end": 24512,
                      "loc": {
                        "start": {
                          "line": 625,
                          "column": 71
                        },
                        "end": {
                          "line": 625,
                          "column": 77
                        }
                      },
                      "name": "matrix"
                    }
                  ]
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "tr + mv + prj",
                "start": 24385,
                "end": 24400,
                "loc": {
                  "start": {
                    "line": 622,
                    "column": 72
                  },
                  "end": {
                    "line": 622,
                    "column": 87
                  }
                },
                "range": [
                  24385,
                  24400
                ]
              },
              {
                "type": "CommentLine",
                "value": " calculate NDC coordinates",
                "start": 24406,
                "end": 24434,
                "loc": {
                  "start": {
                    "line": 624,
                    "column": 4
                  },
                  "end": {
                    "line": 624,
                    "column": 32
                  }
                },
                "range": [
                  24406,
                  24434
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24519,
            "end": 24551,
            "loc": {
              "start": {
                "line": 626,
                "column": 4
              },
              "end": {
                "line": 626,
                "column": 36
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24523,
                "end": 24550,
                "loc": {
                  "start": {
                    "line": 626,
                    "column": 8
                  },
                  "end": {
                    "line": 626,
                    "column": 35
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24523,
                  "end": 24527,
                  "loc": {
                    "start": {
                      "line": 626,
                      "column": 8
                    },
                    "end": {
                      "line": 626,
                      "column": 12
                    }
                  },
                  "name": "invW"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 24530,
                  "end": 24550,
                  "loc": {
                    "start": {
                      "line": 626,
                      "column": 15
                    },
                    "end": {
                      "line": 626,
                      "column": 35
                    }
                  },
                  "left": {
                    "type": "Literal",
                    "start": 24530,
                    "end": 24533,
                    "loc": {
                      "start": {
                        "line": 626,
                        "column": 15
                      },
                      "end": {
                        "line": 626,
                        "column": 18
                      }
                    },
                    "value": 1,
                    "rawValue": 1,
                    "raw": "1.0"
                  },
                  "operator": "/",
                  "right": {
                    "type": "MemberExpression",
                    "start": 24536,
                    "end": 24550,
                    "loc": {
                      "start": {
                        "line": 626,
                        "column": 21
                      },
                      "end": {
                        "line": 626,
                        "column": 35
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24536,
                      "end": 24548,
                      "loc": {
                        "start": {
                          "line": 626,
                          "column": 21
                        },
                        "end": {
                          "line": 626,
                          "column": 33
                        }
                      },
                      "name": "clipPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24549,
                      "end": 24550,
                      "loc": {
                        "start": {
                          "line": 626,
                          "column": 34
                        },
                        "end": {
                          "line": 626,
                          "column": 35
                        }
                      },
                      "name": "w"
                    },
                    "computed": false
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 24556,
            "end": 24634,
            "loc": {
              "start": {
                "line": 627,
                "column": 4
              },
              "end": {
                "line": 627,
                "column": 82
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24560,
                "end": 24633,
                "loc": {
                  "start": {
                    "line": 627,
                    "column": 8
                  },
                  "end": {
                    "line": 627,
                    "column": 81
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24560,
                  "end": 24571,
                  "loc": {
                    "start": {
                      "line": 627,
                      "column": 8
                    },
                    "end": {
                      "line": 627,
                      "column": 19
                    }
                  },
                  "name": "ndcPosition"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 24574,
                  "end": 24633,
                  "loc": {
                    "start": {
                      "line": 627,
                      "column": 22
                    },
                    "end": {
                      "line": 627,
                      "column": 81
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24574,
                    "end": 24627,
                    "loc": {
                      "start": {
                        "line": 627,
                        "column": 22
                      },
                      "end": {
                        "line": 627,
                        "column": 75
                      }
                    },
                    "object": {
                      "type": "CallExpression",
                      "start": 24574,
                      "end": 24612,
                      "loc": {
                        "start": {
                          "line": 627,
                          "column": 22
                        },
                        "end": {
                          "line": 627,
                          "column": 60
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 24574,
                        "end": 24598,
                        "loc": {
                          "start": {
                            "line": 627,
                            "column": 22
                          },
                          "end": {
                            "line": 627,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "NewExpression",
                          "start": 24574,
                          "end": 24593,
                          "loc": {
                            "start": {
                              "line": 627,
                              "column": 22
                            },
                            "end": {
                              "line": 627,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 24578,
                            "end": 24591,
                            "loc": {
                              "start": {
                                "line": 627,
                                "column": 26
                              },
                              "end": {
                                "line": 627,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 24578,
                              "end": 24583,
                              "loc": {
                                "start": {
                                  "line": 627,
                                  "column": 26
                                },
                                "end": {
                                  "line": 627,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 24584,
                              "end": 24591,
                              "loc": {
                                "start": {
                                  "line": 627,
                                  "column": 32
                                },
                                "end": {
                                  "line": 627,
                                  "column": 39
                                }
                              },
                              "name": "Vector3"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 24594,
                          "end": 24598,
                          "loc": {
                            "start": {
                              "line": 627,
                              "column": 42
                            },
                            "end": {
                              "line": 627,
                              "column": 46
                            }
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 24599,
                          "end": 24611,
                          "loc": {
                            "start": {
                              "line": 627,
                              "column": 47
                            },
                            "end": {
                              "line": 627,
                              "column": 59
                            }
                          },
                          "name": "clipPosition"
                        }
                      ]
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24613,
                      "end": 24627,
                      "loc": {
                        "start": {
                          "line": 627,
                          "column": 61
                        },
                        "end": {
                          "line": 627,
                          "column": 75
                        }
                      },
                      "name": "multiplyScalar"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 24628,
                      "end": 24632,
                      "loc": {
                        "start": {
                          "line": 627,
                          "column": 76
                        },
                        "end": {
                          "line": 627,
                          "column": 80
                        }
                      },
                      "name": "invW"
                    }
                  ]
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate NDC derivatives",
                "start": 24640,
                "end": 24668,
                "loc": {
                  "start": {
                    "line": 629,
                    "column": 4
                  },
                  "end": {
                    "line": 629,
                    "column": 32
                  }
                },
                "range": [
                  24640,
                  24668
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 24673,
            "end": 24709,
            "loc": {
              "start": {
                "line": 630,
                "column": 4
              },
              "end": {
                "line": 630,
                "column": 40
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 24677,
                "end": 24708,
                "loc": {
                  "start": {
                    "line": 630,
                    "column": 8
                  },
                  "end": {
                    "line": 630,
                    "column": 39
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 24677,
                  "end": 24686,
                  "loc": {
                    "start": {
                      "line": 630,
                      "column": 8
                    },
                    "end": {
                      "line": 630,
                      "column": 17
                    }
                  },
                  "name": "ndcDerivs",
                  "leadingComments": null
                },
                "init": {
                  "type": "NewExpression",
                  "start": 24689,
                  "end": 24708,
                  "loc": {
                    "start": {
                      "line": 630,
                      "column": 20
                    },
                    "end": {
                      "line": 630,
                      "column": 39
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 24693,
                    "end": 24706,
                    "loc": {
                      "start": {
                        "line": 630,
                        "column": 24
                      },
                      "end": {
                        "line": 630,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 24693,
                      "end": 24698,
                      "loc": {
                        "start": {
                          "line": 630,
                          "column": 24
                        },
                        "end": {
                          "line": 630,
                          "column": 29
                        }
                      },
                      "name": "THREE"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 24699,
                      "end": 24706,
                      "loc": {
                        "start": {
                          "line": 630,
                          "column": 30
                        },
                        "end": {
                          "line": 630,
                          "column": 37
                        }
                      },
                      "name": "Matrix4"
                    },
                    "computed": false
                  },
                  "arguments": []
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate NDC derivatives",
                "start": 24640,
                "end": 24668,
                "loc": {
                  "start": {
                    "line": 629,
                    "column": 4
                  },
                  "end": {
                    "line": 629,
                    "column": 32
                  }
                },
                "range": [
                  24640,
                  24668
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 24714,
            "end": 25252,
            "loc": {
              "start": {
                "line": 631,
                "column": 4
              },
              "end": {
                "line": 642,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 24718,
              "end": 24728,
              "loc": {
                "start": {
                  "line": 631,
                  "column": 8
                },
                "end": {
                  "line": 631,
                  "column": 18
                }
              },
              "name": "withDerivs"
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 24730,
              "end": 25252,
              "loc": {
                "start": {
                  "line": 631,
                  "column": 20
                },
                "end": {
                  "line": 642,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 24810,
                  "end": 24856,
                  "loc": {
                    "start": {
                      "line": 633,
                      "column": 8
                    },
                    "end": {
                      "line": 633,
                      "column": 54
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 24814,
                      "end": 24855,
                      "loc": {
                        "start": {
                          "line": 633,
                          "column": 12
                        },
                        "end": {
                          "line": 633,
                          "column": 53
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 24814,
                        "end": 24833,
                        "loc": {
                          "start": {
                            "line": 633,
                            "column": 12
                          },
                          "end": {
                            "line": 633,
                            "column": 31
                          }
                        },
                        "name": "normalizationMatrix",
                        "leadingComments": null
                      },
                      "init": {
                        "type": "NewExpression",
                        "start": 24836,
                        "end": 24855,
                        "loc": {
                          "start": {
                            "line": 633,
                            "column": 34
                          },
                          "end": {
                            "line": 633,
                            "column": 53
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 24840,
                          "end": 24853,
                          "loc": {
                            "start": {
                              "line": 633,
                              "column": 38
                            },
                            "end": {
                              "line": 633,
                              "column": 51
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 24840,
                            "end": 24845,
                            "loc": {
                              "start": {
                                "line": 633,
                                "column": 38
                              },
                              "end": {
                                "line": 633,
                                "column": 43
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 24846,
                            "end": 24853,
                            "loc": {
                              "start": {
                                "line": 633,
                                "column": 44
                              },
                              "end": {
                                "line": 633,
                                "column": 51
                              }
                            },
                            "name": "Matrix4"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "leadingComments": null
                    }
                  ],
                  "kind": "var",
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " calculate Jacobian matrix of normalization (division by W)",
                      "start": 24740,
                      "end": 24801,
                      "loc": {
                        "start": {
                          "line": 632,
                          "column": 8
                        },
                        "end": {
                          "line": 632,
                          "column": 69
                        }
                      },
                      "range": [
                        24740,
                        24801
                      ]
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 24865,
                  "end": 25082,
                  "loc": {
                    "start": {
                      "line": 634,
                      "column": 8
                    },
                    "end": {
                      "line": 639,
                      "column": 10
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 24865,
                    "end": 25081,
                    "loc": {
                      "start": {
                        "line": 634,
                        "column": 8
                      },
                      "end": {
                        "line": 639,
                        "column": 9
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 24865,
                      "end": 24888,
                      "loc": {
                        "start": {
                          "line": 634,
                          "column": 8
                        },
                        "end": {
                          "line": 634,
                          "column": 31
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 24865,
                        "end": 24884,
                        "loc": {
                          "start": {
                            "line": 634,
                            "column": 8
                          },
                          "end": {
                            "line": 634,
                            "column": 27
                          }
                        },
                        "name": "normalizationMatrix"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 24885,
                        "end": 24888,
                        "loc": {
                          "start": {
                            "line": 634,
                            "column": 28
                          },
                          "end": {
                            "line": 634,
                            "column": 31
                          }
                        },
                        "name": "set"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 24902,
                        "end": 24906,
                        "loc": {
                          "start": {
                            "line": 635,
                            "column": 12
                          },
                          "end": {
                            "line": 635,
                            "column": 16
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "Literal",
                        "start": 24908,
                        "end": 24909,
                        "loc": {
                          "start": {
                            "line": 635,
                            "column": 18
                          },
                          "end": {
                            "line": 635,
                            "column": 19
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 24911,
                        "end": 24912,
                        "loc": {
                          "start": {
                            "line": 635,
                            "column": 21
                          },
                          "end": {
                            "line": 635,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 24914,
                        "end": 24941,
                        "loc": {
                          "start": {
                            "line": 635,
                            "column": 24
                          },
                          "end": {
                            "line": 635,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 24914,
                          "end": 24936,
                          "loc": {
                            "start": {
                              "line": 635,
                              "column": 24
                            },
                            "end": {
                              "line": 635,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 24914,
                            "end": 24929,
                            "loc": {
                              "start": {
                                "line": 635,
                                "column": 24
                              },
                              "end": {
                                "line": 635,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 24915,
                              "end": 24929,
                              "loc": {
                                "start": {
                                  "line": 635,
                                  "column": 25
                                },
                                "end": {
                                  "line": 635,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24915,
                                "end": 24927,
                                "loc": {
                                  "start": {
                                    "line": 635,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 635,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24928,
                                "end": 24929,
                                "loc": {
                                  "start": {
                                    "line": 635,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 635,
                                    "column": 39
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 24932,
                            "end": 24936,
                            "loc": {
                              "start": {
                                "line": 635,
                                "column": 42
                              },
                              "end": {
                                "line": 635,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 24937,
                          "end": 24941,
                          "loc": {
                            "start": {
                              "line": 635,
                              "column": 47
                            },
                            "end": {
                              "line": 635,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 24955,
                        "end": 24956,
                        "loc": {
                          "start": {
                            "line": 636,
                            "column": 12
                          },
                          "end": {
                            "line": 636,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Identifier",
                        "start": 24958,
                        "end": 24962,
                        "loc": {
                          "start": {
                            "line": 636,
                            "column": 15
                          },
                          "end": {
                            "line": 636,
                            "column": 19
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "Literal",
                        "start": 24964,
                        "end": 24965,
                        "loc": {
                          "start": {
                            "line": 636,
                            "column": 21
                          },
                          "end": {
                            "line": 636,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 24967,
                        "end": 24994,
                        "loc": {
                          "start": {
                            "line": 636,
                            "column": 24
                          },
                          "end": {
                            "line": 636,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 24967,
                          "end": 24989,
                          "loc": {
                            "start": {
                              "line": 636,
                              "column": 24
                            },
                            "end": {
                              "line": 636,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 24967,
                            "end": 24982,
                            "loc": {
                              "start": {
                                "line": 636,
                                "column": 24
                              },
                              "end": {
                                "line": 636,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 24968,
                              "end": 24982,
                              "loc": {
                                "start": {
                                  "line": 636,
                                  "column": 25
                                },
                                "end": {
                                  "line": 636,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 24968,
                                "end": 24980,
                                "loc": {
                                  "start": {
                                    "line": 636,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 636,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 24981,
                                "end": 24982,
                                "loc": {
                                  "start": {
                                    "line": 636,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 636,
                                    "column": 39
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 24985,
                            "end": 24989,
                            "loc": {
                              "start": {
                                "line": 636,
                                "column": 42
                              },
                              "end": {
                                "line": 636,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 24990,
                          "end": 24994,
                          "loc": {
                            "start": {
                              "line": 636,
                              "column": 47
                            },
                            "end": {
                              "line": 636,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 25008,
                        "end": 25009,
                        "loc": {
                          "start": {
                            "line": 637,
                            "column": 12
                          },
                          "end": {
                            "line": 637,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 25011,
                        "end": 25012,
                        "loc": {
                          "start": {
                            "line": 637,
                            "column": 15
                          },
                          "end": {
                            "line": 637,
                            "column": 16
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Identifier",
                        "start": 25014,
                        "end": 25018,
                        "loc": {
                          "start": {
                            "line": 637,
                            "column": 18
                          },
                          "end": {
                            "line": 637,
                            "column": 22
                          }
                        },
                        "name": "invW"
                      },
                      {
                        "type": "BinaryExpression",
                        "start": 25020,
                        "end": 25047,
                        "loc": {
                          "start": {
                            "line": 637,
                            "column": 24
                          },
                          "end": {
                            "line": 637,
                            "column": 51
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 25020,
                          "end": 25042,
                          "loc": {
                            "start": {
                              "line": 637,
                              "column": 24
                            },
                            "end": {
                              "line": 637,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 25020,
                            "end": 25035,
                            "loc": {
                              "start": {
                                "line": 637,
                                "column": 24
                              },
                              "end": {
                                "line": 637,
                                "column": 39
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 25021,
                              "end": 25035,
                              "loc": {
                                "start": {
                                  "line": 637,
                                  "column": 25
                                },
                                "end": {
                                  "line": 637,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 25021,
                                "end": 25033,
                                "loc": {
                                  "start": {
                                    "line": 637,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 637,
                                    "column": 37
                                  }
                                },
                                "name": "clipPosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 25034,
                                "end": 25035,
                                "loc": {
                                  "start": {
                                    "line": 637,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 637,
                                    "column": 39
                                  }
                                },
                                "name": "z"
                              },
                              "computed": false
                            }
                          },
                          "operator": "*",
                          "right": {
                            "type": "Identifier",
                            "start": 25038,
                            "end": 25042,
                            "loc": {
                              "start": {
                                "line": 637,
                                "column": 42
                              },
                              "end": {
                                "line": 637,
                                "column": 46
                              }
                            },
                            "name": "invW"
                          }
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 25043,
                          "end": 25047,
                          "loc": {
                            "start": {
                              "line": 637,
                              "column": 47
                            },
                            "end": {
                              "line": 637,
                              "column": 51
                            }
                          },
                          "name": "invW"
                        }
                      },
                      {
                        "type": "Literal",
                        "start": 25061,
                        "end": 25062,
                        "loc": {
                          "start": {
                            "line": 638,
                            "column": 12
                          },
                          "end": {
                            "line": 638,
                            "column": 13
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 25064,
                        "end": 25065,
                        "loc": {
                          "start": {
                            "line": 638,
                            "column": 15
                          },
                          "end": {
                            "line": 638,
                            "column": 16
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 25067,
                        "end": 25068,
                        "loc": {
                          "start": {
                            "line": 638,
                            "column": 18
                          },
                          "end": {
                            "line": 638,
                            "column": 19
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      {
                        "type": "Literal",
                        "start": 25070,
                        "end": 25071,
                        "loc": {
                          "start": {
                            "line": 638,
                            "column": 21
                          },
                          "end": {
                            "line": 638,
                            "column": 22
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    ]
                  },
                  "trailingComments": [
                    {
                      "type": "CommentLine",
                      "value": " derivatives of NDS coordinates are obtained as transformation first, normalization then",
                      "start": 25091,
                      "end": 25181,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 8
                        },
                        "end": {
                          "line": 640,
                          "column": 98
                        }
                      },
                      "range": [
                        25091,
                        25181
                      ]
                    }
                  ]
                },
                {
                  "type": "ExpressionStatement",
                  "start": 25190,
                  "end": 25246,
                  "loc": {
                    "start": {
                      "line": 641,
                      "column": 8
                    },
                    "end": {
                      "line": 641,
                      "column": 64
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 25190,
                    "end": 25245,
                    "loc": {
                      "start": {
                        "line": 641,
                        "column": 8
                      },
                      "end": {
                        "line": 641,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 25190,
                      "end": 25216,
                      "loc": {
                        "start": {
                          "line": 641,
                          "column": 8
                        },
                        "end": {
                          "line": 641,
                          "column": 34
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 25190,
                        "end": 25199,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 8
                          },
                          "end": {
                            "line": 641,
                            "column": 17
                          }
                        },
                        "name": "ndcDerivs",
                        "leadingComments": null
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 25200,
                        "end": 25216,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 18
                          },
                          "end": {
                            "line": 641,
                            "column": 34
                          }
                        },
                        "name": "multiplyMatrices"
                      },
                      "computed": false,
                      "leadingComments": null
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 25217,
                        "end": 25236,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 35
                          },
                          "end": {
                            "line": 641,
                            "column": 54
                          }
                        },
                        "name": "normalizationMatrix"
                      },
                      {
                        "type": "Identifier",
                        "start": 25238,
                        "end": 25244,
                        "loc": {
                          "start": {
                            "line": 641,
                            "column": 56
                          },
                          "end": {
                            "line": 641,
                            "column": 62
                          }
                        },
                        "name": "matrix"
                      }
                    ],
                    "leadingComments": null
                  },
                  "leadingComments": [
                    {
                      "type": "CommentLine",
                      "value": " derivatives of NDS coordinates are obtained as transformation first, normalization then",
                      "start": 25091,
                      "end": 25181,
                      "loc": {
                        "start": {
                          "line": 640,
                          "column": 8
                        },
                        "end": {
                          "line": 640,
                          "column": 98
                        }
                      },
                      "range": [
                        25091,
                        25181
                      ]
                    }
                  ]
                }
              ],
              "trailingComments": null
            },
            "alternate": null,
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: is it really proper width/height to multiply?",
                "start": 25258,
                "end": 25311,
                "loc": {
                  "start": {
                    "line": 644,
                    "column": 4
                  },
                  "end": {
                    "line": 644,
                    "column": 57
                  }
                },
                "range": [
                  25258,
                  25311
                ]
              },
              {
                "type": "CommentLine",
                "value": " 1. Are there any margins outside of gl viewport?",
                "start": 25316,
                "end": 25367,
                "loc": {
                  "start": {
                    "line": 645,
                    "column": 4
                  },
                  "end": {
                    "line": 645,
                    "column": 55
                  }
                },
                "range": [
                  25316,
                  25367
                ]
              },
              {
                "type": "CommentLine",
                "value": " 2. Is viewport size always equal to these sizes?",
                "start": 25372,
                "end": 25423,
                "loc": {
                  "start": {
                    "line": 646,
                    "column": 4
                  },
                  "end": {
                    "line": 646,
                    "column": 55
                  }
                },
                "range": [
                  25372,
                  25423
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 25428,
            "end": 25509,
            "loc": {
              "start": {
                "line": 647,
                "column": 4
              },
              "end": {
                "line": 647,
                "column": 85
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 25432,
                "end": 25468,
                "loc": {
                  "start": {
                    "line": 647,
                    "column": 8
                  },
                  "end": {
                    "line": 647,
                    "column": 44
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25432,
                  "end": 25441,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 8
                    },
                    "end": {
                      "line": 647,
                      "column": 17
                    }
                  },
                  "name": "widthHalf",
                  "leadingComments": null
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 25444,
                  "end": 25468,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 20
                    },
                    "end": {
                      "line": 647,
                      "column": 44
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 25444,
                    "end": 25464,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 20
                      },
                      "end": {
                        "line": 647,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 25444,
                      "end": 25452,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 20
                        },
                        "end": {
                          "line": 647,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 25444,
                        "end": 25448,
                        "loc": {
                          "start": {
                            "line": 647,
                            "column": 20
                          },
                          "end": {
                            "line": 647,
                            "column": 24
                          }
                        },
                        "name": "view"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 25449,
                        "end": 25452,
                        "loc": {
                          "start": {
                            "line": 647,
                            "column": 25
                          },
                          "end": {
                            "line": 647,
                            "column": 28
                          }
                        },
                        "name": "dom"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 25453,
                      "end": 25464,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 29
                        },
                        "end": {
                          "line": 647,
                          "column": 40
                        }
                      },
                      "name": "clientWidth"
                    },
                    "computed": false
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 25467,
                    "end": 25468,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 43
                      },
                      "end": {
                        "line": 647,
                        "column": 44
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                },
                "leadingComments": null
              },
              {
                "type": "VariableDeclarator",
                "start": 25470,
                "end": 25508,
                "loc": {
                  "start": {
                    "line": 647,
                    "column": 46
                  },
                  "end": {
                    "line": 647,
                    "column": 84
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25470,
                  "end": 25480,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 46
                    },
                    "end": {
                      "line": 647,
                      "column": 56
                    }
                  },
                  "name": "heightHalf"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 25483,
                  "end": 25508,
                  "loc": {
                    "start": {
                      "line": 647,
                      "column": 59
                    },
                    "end": {
                      "line": 647,
                      "column": 84
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 25483,
                    "end": 25504,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 59
                      },
                      "end": {
                        "line": 647,
                        "column": 80
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 25483,
                      "end": 25491,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 59
                        },
                        "end": {
                          "line": 647,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 25483,
                        "end": 25487,
                        "loc": {
                          "start": {
                            "line": 647,
                            "column": 59
                          },
                          "end": {
                            "line": 647,
                            "column": 63
                          }
                        },
                        "name": "view"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 25488,
                        "end": 25491,
                        "loc": {
                          "start": {
                            "line": 647,
                            "column": 64
                          },
                          "end": {
                            "line": 647,
                            "column": 67
                          }
                        },
                        "name": "dom"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 25492,
                      "end": 25504,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 68
                        },
                        "end": {
                          "line": 647,
                          "column": 80
                        }
                      },
                      "name": "clientHeight"
                    },
                    "computed": false
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 25507,
                    "end": 25508,
                    "loc": {
                      "start": {
                        "line": 647,
                        "column": 83
                      },
                      "end": {
                        "line": 647,
                        "column": 84
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                }
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "TODO: is it really proper width/height to multiply?",
                "start": 25258,
                "end": 25311,
                "loc": {
                  "start": {
                    "line": 644,
                    "column": 4
                  },
                  "end": {
                    "line": 644,
                    "column": 57
                  }
                },
                "range": [
                  25258,
                  25311
                ]
              },
              {
                "type": "CommentLine",
                "value": " 1. Are there any margins outside of gl viewport?",
                "start": 25316,
                "end": 25367,
                "loc": {
                  "start": {
                    "line": 645,
                    "column": 4
                  },
                  "end": {
                    "line": 645,
                    "column": 55
                  }
                },
                "range": [
                  25316,
                  25367
                ]
              },
              {
                "type": "CommentLine",
                "value": " 2. Is viewport size always equal to these sizes?",
                "start": 25372,
                "end": 25423,
                "loc": {
                  "start": {
                    "line": 646,
                    "column": 4
                  },
                  "end": {
                    "line": 646,
                    "column": 55
                  }
                },
                "range": [
                  25372,
                  25423
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 25514,
            "end": 25557,
            "loc": {
              "start": {
                "line": 648,
                "column": 4
              },
              "end": {
                "line": 648,
                "column": 47
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 25518,
                "end": 25535,
                "loc": {
                  "start": {
                    "line": 648,
                    "column": 8
                  },
                  "end": {
                    "line": 648,
                    "column": 25
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25518,
                  "end": 25523,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 8
                    },
                    "end": {
                      "line": 648,
                      "column": 13
                    }
                  },
                  "name": "multX"
                },
                "init": {
                  "type": "Identifier",
                  "start": 25526,
                  "end": 25535,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 16
                    },
                    "end": {
                      "line": 648,
                      "column": 25
                    }
                  },
                  "name": "widthHalf"
                }
              },
              {
                "type": "VariableDeclarator",
                "start": 25537,
                "end": 25556,
                "loc": {
                  "start": {
                    "line": 648,
                    "column": 27
                  },
                  "end": {
                    "line": 648,
                    "column": 46
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25537,
                  "end": 25542,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 27
                    },
                    "end": {
                      "line": 648,
                      "column": 32
                    }
                  },
                  "name": "multY"
                },
                "init": {
                  "type": "UnaryExpression",
                  "start": 25545,
                  "end": 25556,
                  "loc": {
                    "start": {
                      "line": 648,
                      "column": 35
                    },
                    "end": {
                      "line": 648,
                      "column": 46
                    }
                  },
                  "operator": "-",
                  "prefix": true,
                  "argument": {
                    "type": "Identifier",
                    "start": 25546,
                    "end": 25556,
                    "loc": {
                      "start": {
                        "line": 648,
                        "column": 36
                      },
                      "end": {
                        "line": 648,
                        "column": 46
                      }
                    },
                    "name": "heightHalf"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 25562,
            "end": 25602,
            "loc": {
              "start": {
                "line": 649,
                "column": 4
              },
              "end": {
                "line": 649,
                "column": 44
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 25566,
                "end": 25582,
                "loc": {
                  "start": {
                    "line": 649,
                    "column": 8
                  },
                  "end": {
                    "line": 649,
                    "column": 24
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25566,
                  "end": 25570,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 8
                    },
                    "end": {
                      "line": 649,
                      "column": 12
                    }
                  },
                  "name": "addX"
                },
                "init": {
                  "type": "Identifier",
                  "start": 25573,
                  "end": 25582,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 15
                    },
                    "end": {
                      "line": 649,
                      "column": 24
                    }
                  },
                  "name": "widthHalf"
                }
              },
              {
                "type": "VariableDeclarator",
                "start": 25584,
                "end": 25601,
                "loc": {
                  "start": {
                    "line": 649,
                    "column": 26
                  },
                  "end": {
                    "line": 649,
                    "column": 43
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25584,
                  "end": 25588,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 26
                    },
                    "end": {
                      "line": 649,
                      "column": 30
                    }
                  },
                  "name": "addY"
                },
                "init": {
                  "type": "Identifier",
                  "start": 25591,
                  "end": 25601,
                  "loc": {
                    "start": {
                      "line": 649,
                      "column": 33
                    },
                    "end": {
                      "line": 649,
                      "column": 43
                    }
                  },
                  "name": "heightHalf"
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 25608,
            "end": 25624,
            "loc": {
              "start": {
                "line": 651,
                "column": 4
              },
              "end": {
                "line": 651,
                "column": 20
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 25612,
                "end": 25623,
                "loc": {
                  "start": {
                    "line": 651,
                    "column": 8
                  },
                  "end": {
                    "line": 651,
                    "column": 19
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 25612,
                  "end": 25618,
                  "loc": {
                    "start": {
                      "line": 651,
                      "column": 8
                    },
                    "end": {
                      "line": 651,
                      "column": 14
                    }
                  },
                  "name": "result"
                },
                "init": {
                  "type": "ObjectExpression",
                  "start": 25621,
                  "end": 25623,
                  "loc": {
                    "start": {
                      "line": 651,
                      "column": 17
                    },
                    "end": {
                      "line": 651,
                      "column": 19
                    }
                  },
                  "properties": []
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen position",
                "start": 25629,
                "end": 25657,
                "loc": {
                  "start": {
                    "line": 652,
                    "column": 4
                  },
                  "end": {
                    "line": 652,
                    "column": 32
                  }
                },
                "range": [
                  25629,
                  25657
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 25662,
            "end": 25700,
            "loc": {
              "start": {
                "line": 653,
                "column": 4
              },
              "end": {
                "line": 653,
                "column": 42
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 25662,
              "end": 25699,
              "loc": {
                "start": {
                  "line": 653,
                  "column": 4
                },
                "end": {
                  "line": 653,
                  "column": 41
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 25662,
                "end": 25677,
                "loc": {
                  "start": {
                    "line": 653,
                    "column": 4
                  },
                  "end": {
                    "line": 653,
                    "column": 19
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 25662,
                  "end": 25668,
                  "loc": {
                    "start": {
                      "line": 653,
                      "column": 4
                    },
                    "end": {
                      "line": 653,
                      "column": 10
                    }
                  },
                  "name": "result",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 25669,
                  "end": 25677,
                  "loc": {
                    "start": {
                      "line": 653,
                      "column": 11
                    },
                    "end": {
                      "line": 653,
                      "column": 19
                    }
                  },
                  "name": "position"
                },
                "computed": false,
                "leadingComments": null
              },
              "right": {
                "type": "NewExpression",
                "start": 25680,
                "end": 25699,
                "loc": {
                  "start": {
                    "line": 653,
                    "column": 22
                  },
                  "end": {
                    "line": 653,
                    "column": 41
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 25684,
                  "end": 25697,
                  "loc": {
                    "start": {
                      "line": 653,
                      "column": 26
                    },
                    "end": {
                      "line": 653,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 25684,
                    "end": 25689,
                    "loc": {
                      "start": {
                        "line": 653,
                        "column": 26
                      },
                      "end": {
                        "line": 653,
                        "column": 31
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 25690,
                    "end": 25697,
                    "loc": {
                      "start": {
                        "line": 653,
                        "column": 32
                      },
                      "end": {
                        "line": 653,
                        "column": 39
                      }
                    },
                    "name": "Vector2"
                  },
                  "computed": false
                },
                "arguments": []
              },
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen position",
                "start": 25629,
                "end": 25657,
                "loc": {
                  "start": {
                    "line": 652,
                    "column": 4
                  },
                  "end": {
                    "line": 652,
                    "column": 32
                  }
                },
                "range": [
                  25629,
                  25657
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 25705,
            "end": 25754,
            "loc": {
              "start": {
                "line": 654,
                "column": 4
              },
              "end": {
                "line": 654,
                "column": 53
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 25705,
              "end": 25753,
              "loc": {
                "start": {
                  "line": 654,
                  "column": 4
                },
                "end": {
                  "line": 654,
                  "column": 52
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 25705,
                "end": 25722,
                "loc": {
                  "start": {
                    "line": 654,
                    "column": 4
                  },
                  "end": {
                    "line": 654,
                    "column": 21
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 25705,
                  "end": 25720,
                  "loc": {
                    "start": {
                      "line": 654,
                      "column": 4
                    },
                    "end": {
                      "line": 654,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 25705,
                    "end": 25711,
                    "loc": {
                      "start": {
                        "line": 654,
                        "column": 4
                      },
                      "end": {
                        "line": 654,
                        "column": 10
                      }
                    },
                    "name": "result"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 25712,
                    "end": 25720,
                    "loc": {
                      "start": {
                        "line": 654,
                        "column": 11
                      },
                      "end": {
                        "line": 654,
                        "column": 19
                      }
                    },
                    "name": "position"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 25721,
                  "end": 25722,
                  "loc": {
                    "start": {
                      "line": 654,
                      "column": 20
                    },
                    "end": {
                      "line": 654,
                      "column": 21
                    }
                  },
                  "name": "x"
                },
                "computed": false
              },
              "right": {
                "type": "BinaryExpression",
                "start": 25725,
                "end": 25753,
                "loc": {
                  "start": {
                    "line": 654,
                    "column": 24
                  },
                  "end": {
                    "line": 654,
                    "column": 52
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 25725,
                  "end": 25746,
                  "loc": {
                    "start": {
                      "line": 654,
                      "column": 24
                    },
                    "end": {
                      "line": 654,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 25725,
                    "end": 25738,
                    "loc": {
                      "start": {
                        "line": 654,
                        "column": 24
                      },
                      "end": {
                        "line": 654,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 25725,
                      "end": 25736,
                      "loc": {
                        "start": {
                          "line": 654,
                          "column": 24
                        },
                        "end": {
                          "line": 654,
                          "column": 35
                        }
                      },
                      "name": "ndcPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 25737,
                      "end": 25738,
                      "loc": {
                        "start": {
                          "line": 654,
                          "column": 36
                        },
                        "end": {
                          "line": 654,
                          "column": 37
                        }
                      },
                      "name": "x"
                    },
                    "computed": false
                  },
                  "operator": "*",
                  "right": {
                    "type": "Identifier",
                    "start": 25741,
                    "end": 25746,
                    "loc": {
                      "start": {
                        "line": 654,
                        "column": 40
                      },
                      "end": {
                        "line": 654,
                        "column": 45
                      }
                    },
                    "name": "multX"
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Identifier",
                  "start": 25749,
                  "end": 25753,
                  "loc": {
                    "start": {
                      "line": 654,
                      "column": 48
                    },
                    "end": {
                      "line": 654,
                      "column": 52
                    }
                  },
                  "name": "addX"
                }
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "start": 25759,
            "end": 25808,
            "loc": {
              "start": {
                "line": 655,
                "column": 4
              },
              "end": {
                "line": 655,
                "column": 53
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 25759,
              "end": 25807,
              "loc": {
                "start": {
                  "line": 655,
                  "column": 4
                },
                "end": {
                  "line": 655,
                  "column": 52
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 25759,
                "end": 25776,
                "loc": {
                  "start": {
                    "line": 655,
                    "column": 4
                  },
                  "end": {
                    "line": 655,
                    "column": 21
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 25759,
                  "end": 25774,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 4
                    },
                    "end": {
                      "line": 655,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 25759,
                    "end": 25765,
                    "loc": {
                      "start": {
                        "line": 655,
                        "column": 4
                      },
                      "end": {
                        "line": 655,
                        "column": 10
                      }
                    },
                    "name": "result"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 25766,
                    "end": 25774,
                    "loc": {
                      "start": {
                        "line": 655,
                        "column": 11
                      },
                      "end": {
                        "line": 655,
                        "column": 19
                      }
                    },
                    "name": "position"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 25775,
                  "end": 25776,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 20
                    },
                    "end": {
                      "line": 655,
                      "column": 21
                    }
                  },
                  "name": "y"
                },
                "computed": false
              },
              "right": {
                "type": "BinaryExpression",
                "start": 25779,
                "end": 25807,
                "loc": {
                  "start": {
                    "line": 655,
                    "column": 24
                  },
                  "end": {
                    "line": 655,
                    "column": 52
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 25779,
                  "end": 25800,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 24
                    },
                    "end": {
                      "line": 655,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 25779,
                    "end": 25792,
                    "loc": {
                      "start": {
                        "line": 655,
                        "column": 24
                      },
                      "end": {
                        "line": 655,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 25779,
                      "end": 25790,
                      "loc": {
                        "start": {
                          "line": 655,
                          "column": 24
                        },
                        "end": {
                          "line": 655,
                          "column": 35
                        }
                      },
                      "name": "ndcPosition"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 25791,
                      "end": 25792,
                      "loc": {
                        "start": {
                          "line": 655,
                          "column": 36
                        },
                        "end": {
                          "line": 655,
                          "column": 37
                        }
                      },
                      "name": "y"
                    },
                    "computed": false
                  },
                  "operator": "*",
                  "right": {
                    "type": "Identifier",
                    "start": 25795,
                    "end": 25800,
                    "loc": {
                      "start": {
                        "line": 655,
                        "column": 40
                      },
                      "end": {
                        "line": 655,
                        "column": 45
                      }
                    },
                    "name": "multY"
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Identifier",
                  "start": 25803,
                  "end": 25807,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 48
                    },
                    "end": {
                      "line": 655,
                      "column": 52
                    }
                  },
                  "name": "addY"
                }
              }
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen derivatives",
                "start": 25813,
                "end": 25844,
                "loc": {
                  "start": {
                    "line": 656,
                    "column": 4
                  },
                  "end": {
                    "line": 656,
                    "column": 35
                  }
                },
                "range": [
                  25813,
                  25844
                ]
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 25849,
            "end": 26177,
            "loc": {
              "start": {
                "line": 657,
                "column": 4
              },
              "end": {
                "line": 663,
                "column": 5
              }
            },
            "test": {
              "type": "Identifier",
              "start": 25853,
              "end": 25863,
              "loc": {
                "start": {
                  "line": 657,
                  "column": 8
                },
                "end": {
                  "line": 657,
                  "column": 18
                }
              },
              "name": "withDerivs",
              "leadingComments": null
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 25865,
              "end": 26177,
              "loc": {
                "start": {
                  "line": 657,
                  "column": 20
                },
                "end": {
                  "line": 663,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 25875,
                  "end": 25915,
                  "loc": {
                    "start": {
                      "line": 658,
                      "column": 8
                    },
                    "end": {
                      "line": 658,
                      "column": 48
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 25879,
                      "end": 25914,
                      "loc": {
                        "start": {
                          "line": 658,
                          "column": 12
                        },
                        "end": {
                          "line": 658,
                          "column": 47
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 25879,
                        "end": 25888,
                        "loc": {
                          "start": {
                            "line": 658,
                            "column": 12
                          },
                          "end": {
                            "line": 658,
                            "column": 21
                          }
                        },
                        "name": "resDerivs"
                      },
                      "init": {
                        "type": "AssignmentExpression",
                        "start": 25891,
                        "end": 25914,
                        "loc": {
                          "start": {
                            "line": 658,
                            "column": 24
                          },
                          "end": {
                            "line": 658,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 25891,
                          "end": 25909,
                          "loc": {
                            "start": {
                              "line": 658,
                              "column": 24
                            },
                            "end": {
                              "line": 658,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 25891,
                            "end": 25897,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 24
                              },
                              "end": {
                                "line": 658,
                                "column": 30
                              }
                            },
                            "name": "result"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25898,
                            "end": 25909,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 31
                              },
                              "end": {
                                "line": 658,
                                "column": 42
                              }
                            },
                            "name": "derivatives"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 25912,
                          "end": 25914,
                          "loc": {
                            "start": {
                              "line": 658,
                              "column": 45
                            },
                            "end": {
                              "line": 658,
                              "column": 47
                            }
                          },
                          "elements": []
                        }
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "VariableDeclaration",
                  "start": 25924,
                  "end": 25952,
                  "loc": {
                    "start": {
                      "line": 659,
                      "column": 8
                    },
                    "end": {
                      "line": 659,
                      "column": 36
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 25928,
                      "end": 25951,
                      "loc": {
                        "start": {
                          "line": 659,
                          "column": 12
                        },
                        "end": {
                          "line": 659,
                          "column": 35
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 25928,
                        "end": 25930,
                        "loc": {
                          "start": {
                            "line": 659,
                            "column": 12
                          },
                          "end": {
                            "line": 659,
                            "column": 14
                          }
                        },
                        "name": "me"
                      },
                      "init": {
                        "type": "MemberExpression",
                        "start": 25933,
                        "end": 25951,
                        "loc": {
                          "start": {
                            "line": 659,
                            "column": 17
                          },
                          "end": {
                            "line": 659,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 25933,
                          "end": 25942,
                          "loc": {
                            "start": {
                              "line": 659,
                              "column": 17
                            },
                            "end": {
                              "line": 659,
                              "column": 26
                            }
                          },
                          "name": "ndcDerivs"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 25943,
                          "end": 25951,
                          "loc": {
                            "start": {
                              "line": 659,
                              "column": 27
                            },
                            "end": {
                              "line": 659,
                              "column": 35
                            }
                          },
                          "name": "elements"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 25961,
                  "end": 26025,
                  "loc": {
                    "start": {
                      "line": 660,
                      "column": 8
                    },
                    "end": {
                      "line": 660,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 25961,
                    "end": 26024,
                    "loc": {
                      "start": {
                        "line": 660,
                        "column": 8
                      },
                      "end": {
                        "line": 660,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 25961,
                      "end": 25975,
                      "loc": {
                        "start": {
                          "line": 660,
                          "column": 8
                        },
                        "end": {
                          "line": 660,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 25961,
                        "end": 25970,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 8
                          },
                          "end": {
                            "line": 660,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 25971,
                        "end": 25975,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 18
                          },
                          "end": {
                            "line": 660,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 25976,
                        "end": 26023,
                        "loc": {
                          "start": {
                            "line": 660,
                            "column": 23
                          },
                          "end": {
                            "line": 660,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 25980,
                          "end": 25993,
                          "loc": {
                            "start": {
                              "line": 660,
                              "column": 27
                            },
                            "end": {
                              "line": 660,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 25980,
                            "end": 25985,
                            "loc": {
                              "start": {
                                "line": 660,
                                "column": 27
                              },
                              "end": {
                                "line": 660,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25986,
                            "end": 25993,
                            "loc": {
                              "start": {
                                "line": 660,
                                "column": 33
                              },
                              "end": {
                                "line": 660,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 25994,
                            "end": 26007,
                            "loc": {
                              "start": {
                                "line": 660,
                                "column": 41
                              },
                              "end": {
                                "line": 660,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 25994,
                              "end": 25999,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 41
                                },
                                "end": {
                                  "line": 660,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26002,
                              "end": 26007,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 49
                                },
                                "end": {
                                  "line": 660,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26002,
                                "end": 26004,
                                "loc": {
                                  "start": {
                                    "line": 660,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 660,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 26005,
                                "end": 26006,
                                "loc": {
                                  "start": {
                                    "line": 660,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 660,
                                    "column": 53
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 26009,
                            "end": 26022,
                            "loc": {
                              "start": {
                                "line": 660,
                                "column": 56
                              },
                              "end": {
                                "line": 660,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 26009,
                              "end": 26014,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 56
                                },
                                "end": {
                                  "line": 660,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26017,
                              "end": 26022,
                              "loc": {
                                "start": {
                                  "line": 660,
                                  "column": 64
                                },
                                "end": {
                                  "line": 660,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26017,
                                "end": 26019,
                                "loc": {
                                  "start": {
                                    "line": 660,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 660,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 26020,
                                "end": 26021,
                                "loc": {
                                  "start": {
                                    "line": 660,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 660,
                                    "column": 68
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 26034,
                  "end": 26098,
                  "loc": {
                    "start": {
                      "line": 661,
                      "column": 8
                    },
                    "end": {
                      "line": 661,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 26034,
                    "end": 26097,
                    "loc": {
                      "start": {
                        "line": 661,
                        "column": 8
                      },
                      "end": {
                        "line": 661,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 26034,
                      "end": 26048,
                      "loc": {
                        "start": {
                          "line": 661,
                          "column": 8
                        },
                        "end": {
                          "line": 661,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 26034,
                        "end": 26043,
                        "loc": {
                          "start": {
                            "line": 661,
                            "column": 8
                          },
                          "end": {
                            "line": 661,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26044,
                        "end": 26048,
                        "loc": {
                          "start": {
                            "line": 661,
                            "column": 18
                          },
                          "end": {
                            "line": 661,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 26049,
                        "end": 26096,
                        "loc": {
                          "start": {
                            "line": 661,
                            "column": 23
                          },
                          "end": {
                            "line": 661,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 26053,
                          "end": 26066,
                          "loc": {
                            "start": {
                              "line": 661,
                              "column": 27
                            },
                            "end": {
                              "line": 661,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 26053,
                            "end": 26058,
                            "loc": {
                              "start": {
                                "line": 661,
                                "column": 27
                              },
                              "end": {
                                "line": 661,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26059,
                            "end": 26066,
                            "loc": {
                              "start": {
                                "line": 661,
                                "column": 33
                              },
                              "end": {
                                "line": 661,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 26067,
                            "end": 26080,
                            "loc": {
                              "start": {
                                "line": 661,
                                "column": 41
                              },
                              "end": {
                                "line": 661,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 26067,
                              "end": 26072,
                              "loc": {
                                "start": {
                                  "line": 661,
                                  "column": 41
                                },
                                "end": {
                                  "line": 661,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26075,
                              "end": 26080,
                              "loc": {
                                "start": {
                                  "line": 661,
                                  "column": 49
                                },
                                "end": {
                                  "line": 661,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26075,
                                "end": 26077,
                                "loc": {
                                  "start": {
                                    "line": 661,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 661,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 26078,
                                "end": 26079,
                                "loc": {
                                  "start": {
                                    "line": 661,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 661,
                                    "column": 53
                                  }
                                },
                                "value": 4,
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 26082,
                            "end": 26095,
                            "loc": {
                              "start": {
                                "line": 661,
                                "column": 56
                              },
                              "end": {
                                "line": 661,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 26082,
                              "end": 26087,
                              "loc": {
                                "start": {
                                  "line": 661,
                                  "column": 56
                                },
                                "end": {
                                  "line": 661,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26090,
                              "end": 26095,
                              "loc": {
                                "start": {
                                  "line": 661,
                                  "column": 64
                                },
                                "end": {
                                  "line": 661,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26090,
                                "end": 26092,
                                "loc": {
                                  "start": {
                                    "line": 661,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 661,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 26093,
                                "end": 26094,
                                "loc": {
                                  "start": {
                                    "line": 661,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 661,
                                    "column": 68
                                  }
                                },
                                "value": 5,
                                "rawValue": 5,
                                "raw": "5"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "start": 26107,
                  "end": 26171,
                  "loc": {
                    "start": {
                      "line": 662,
                      "column": 8
                    },
                    "end": {
                      "line": 662,
                      "column": 72
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 26107,
                    "end": 26170,
                    "loc": {
                      "start": {
                        "line": 662,
                        "column": 8
                      },
                      "end": {
                        "line": 662,
                        "column": 71
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 26107,
                      "end": 26121,
                      "loc": {
                        "start": {
                          "line": 662,
                          "column": 8
                        },
                        "end": {
                          "line": 662,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 26107,
                        "end": 26116,
                        "loc": {
                          "start": {
                            "line": 662,
                            "column": 8
                          },
                          "end": {
                            "line": 662,
                            "column": 17
                          }
                        },
                        "name": "resDerivs"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26117,
                        "end": 26121,
                        "loc": {
                          "start": {
                            "line": 662,
                            "column": 18
                          },
                          "end": {
                            "line": 662,
                            "column": 22
                          }
                        },
                        "name": "push"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "NewExpression",
                        "start": 26122,
                        "end": 26169,
                        "loc": {
                          "start": {
                            "line": 662,
                            "column": 23
                          },
                          "end": {
                            "line": 662,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 26126,
                          "end": 26139,
                          "loc": {
                            "start": {
                              "line": 662,
                              "column": 27
                            },
                            "end": {
                              "line": 662,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 26126,
                            "end": 26131,
                            "loc": {
                              "start": {
                                "line": 662,
                                "column": 27
                              },
                              "end": {
                                "line": 662,
                                "column": 32
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26132,
                            "end": 26139,
                            "loc": {
                              "start": {
                                "line": 662,
                                "column": 33
                              },
                              "end": {
                                "line": 662,
                                "column": 40
                              }
                            },
                            "name": "Vector2"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 26140,
                            "end": 26153,
                            "loc": {
                              "start": {
                                "line": 662,
                                "column": 41
                              },
                              "end": {
                                "line": 662,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 26140,
                              "end": 26145,
                              "loc": {
                                "start": {
                                  "line": 662,
                                  "column": 41
                                },
                                "end": {
                                  "line": 662,
                                  "column": 46
                                }
                              },
                              "name": "multX"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26148,
                              "end": 26153,
                              "loc": {
                                "start": {
                                  "line": 662,
                                  "column": 49
                                },
                                "end": {
                                  "line": 662,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26148,
                                "end": 26150,
                                "loc": {
                                  "start": {
                                    "line": 662,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 662,
                                    "column": 51
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 26151,
                                "end": 26152,
                                "loc": {
                                  "start": {
                                    "line": 662,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 662,
                                    "column": 53
                                  }
                                },
                                "value": 8,
                                "rawValue": 8,
                                "raw": "8"
                              },
                              "computed": true
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 26155,
                            "end": 26168,
                            "loc": {
                              "start": {
                                "line": 662,
                                "column": 56
                              },
                              "end": {
                                "line": 662,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 26155,
                              "end": 26160,
                              "loc": {
                                "start": {
                                  "line": 662,
                                  "column": 56
                                },
                                "end": {
                                  "line": 662,
                                  "column": 61
                                }
                              },
                              "name": "multY"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26163,
                              "end": 26168,
                              "loc": {
                                "start": {
                                  "line": 662,
                                  "column": 64
                                },
                                "end": {
                                  "line": 662,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26163,
                                "end": 26165,
                                "loc": {
                                  "start": {
                                    "line": 662,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 662,
                                    "column": 66
                                  }
                                },
                                "name": "me"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 26166,
                                "end": 26167,
                                "loc": {
                                  "start": {
                                    "line": 662,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 662,
                                    "column": 68
                                  }
                                },
                                "value": 9,
                                "rawValue": 9,
                                "raw": "9"
                              },
                              "computed": true
                            }
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            "alternate": null,
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate screen derivatives",
                "start": 25813,
                "end": 25844,
                "loc": {
                  "start": {
                    "line": 656,
                    "column": 4
                  },
                  "end": {
                    "line": 656,
                    "column": 35
                  }
                },
                "range": [
                  25813,
                  25844
                ]
              }
            ]
          },
          {
            "type": "ReturnStatement",
            "start": 26183,
            "end": 26197,
            "loc": {
              "start": {
                "line": 665,
                "column": 4
              },
              "end": {
                "line": 665,
                "column": 18
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 26190,
              "end": 26196,
              "loc": {
                "start": {
                  "line": 665,
                  "column": 11
                },
                "end": {
                  "line": 665,
                  "column": 17
                }
              },
              "name": "result"
            }
          }
        ],
        "trailingComments": null
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "\n * Transforms world coordinates into screen coordinates (possibly with derivatives).\n * Screen coordinates are relative to view region, given in pixels. (todo: more precisely?)\n * If 'localToWorld' parameter is an Object3D, then input coordinates are considered in its local space.\n * If 'withDerivs' parameter is set, then derivatives are calculated and returned.\n * @return object/dict with following members:\n *   position: Vector2 containing x and y coordinates of the 'position' point\n *   derivatives: list of three THREE.Vector2 components, showing\n *                how each input coordinate (x, y, z) influences output position on screen\n ",
          "start": 22944,
          "end": 23597,
          "loc": {
            "start": {
              "line": 598,
              "column": 0
            },
            "end": {
              "line": 607,
              "column": 3
            }
          },
          "range": [
            22944,
            23597
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Calculates coefficient, which allows to translate world size to screen size.\n * @param screenCoordsResult - result of method 'transformWorldToScreen' with derivatives\n * @return number alpha such that:\n *   a sphere of radius R in 3D world space corresponds to\n *   an ellipse with major radius (alpha * R) pixels on screen.\n ",
          "start": 26201,
          "end": 26536,
          "loc": {
            "start": {
              "line": 668,
              "column": 0
            },
            "end": {
              "line": 674,
              "column": 3
            }
          },
          "range": [
            26201,
            26536
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 26537,
      "end": 27361,
      "loc": {
        "start": {
          "line": 675,
          "column": 0
        },
        "end": {
          "line": 691,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 26546,
        "end": 26584,
        "loc": {
          "start": {
            "line": 675,
            "column": 9
          },
          "end": {
            "line": 675,
            "column": 47
          }
        },
        "name": "calculateWorldToScreenRadiusMultiplier",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 26585,
          "end": 26603,
          "loc": {
            "start": {
              "line": 675,
              "column": 48
            },
            "end": {
              "line": 675,
              "column": 66
            }
          },
          "name": "screenCoordsResult"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 26605,
        "end": 27361,
        "loc": {
          "start": {
            "line": 675,
            "column": 68
          },
          "end": {
            "line": 691,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 26712,
            "end": 26756,
            "loc": {
              "start": {
                "line": 677,
                "column": 4
              },
              "end": {
                "line": 677,
                "column": 48
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 26716,
                "end": 26755,
                "loc": {
                  "start": {
                    "line": 677,
                    "column": 8
                  },
                  "end": {
                    "line": 677,
                    "column": 47
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 26716,
                  "end": 26722,
                  "loc": {
                    "start": {
                      "line": 677,
                      "column": 8
                    },
                    "end": {
                      "line": 677,
                      "column": 14
                    }
                  },
                  "name": "derivs",
                  "leadingComments": null
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 26725,
                  "end": 26755,
                  "loc": {
                    "start": {
                      "line": 677,
                      "column": 17
                    },
                    "end": {
                      "line": 677,
                      "column": 47
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 26725,
                    "end": 26743,
                    "loc": {
                      "start": {
                        "line": 677,
                        "column": 17
                      },
                      "end": {
                        "line": 677,
                        "column": 35
                      }
                    },
                    "name": "screenCoordsResult"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 26744,
                    "end": 26755,
                    "loc": {
                      "start": {
                        "line": 677,
                        "column": 36
                      },
                      "end": {
                        "line": 677,
                        "column": 47
                      }
                    },
                    "name": "derivatives"
                  },
                  "computed": false
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " Note the sought-for coeff is the norm (i.e. maximal singular value) of the derivatives matrix",
                "start": 26611,
                "end": 26707,
                "loc": {
                  "start": {
                    "line": 676,
                    "column": 4
                  },
                  "end": {
                    "line": 676,
                    "column": 100
                  }
                },
                "range": [
                  26611,
                  26707
                ]
              }
            ],
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " calculate elements of Gram matrix (i.e. A A^t)",
                "start": 26761,
                "end": 26810,
                "loc": {
                  "start": {
                    "line": 678,
                    "column": 4
                  },
                  "end": {
                    "line": 678,
                    "column": 53
                  }
                },
                "range": [
                  26761,
                  26810
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 26815,
            "end": 26889,
            "loc": {
              "start": {
                "line": 679,
                "column": 4
              },
              "end": {
                "line": 679,
                "column": 78
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 26819,
                "end": 26888,
                "loc": {
                  "start": {
                    "line": 679,
                    "column": 8
                  },
                  "end": {
                    "line": 679,
                    "column": 77
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 26819,
                  "end": 26823,
                  "loc": {
                    "start": {
                      "line": 679,
                      "column": 8
                    },
                    "end": {
                      "line": 679,
                      "column": 12
                    }
                  },
                  "name": "rowX",
                  "leadingComments": null
                },
                "init": {
                  "type": "CallExpression",
                  "start": 26826,
                  "end": 26888,
                  "loc": {
                    "start": {
                      "line": 679,
                      "column": 15
                    },
                    "end": {
                      "line": 679,
                      "column": 77
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 26826,
                    "end": 26849,
                    "loc": {
                      "start": {
                        "line": 679,
                        "column": 15
                      },
                      "end": {
                        "line": 679,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "NewExpression",
                      "start": 26826,
                      "end": 26845,
                      "loc": {
                        "start": {
                          "line": 679,
                          "column": 15
                        },
                        "end": {
                          "line": 679,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 26830,
                        "end": 26843,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 19
                          },
                          "end": {
                            "line": 679,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26830,
                          "end": 26835,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 19
                            },
                            "end": {
                              "line": 679,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 26836,
                          "end": 26843,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 25
                            },
                            "end": {
                              "line": 679,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 26846,
                      "end": 26849,
                      "loc": {
                        "start": {
                          "line": 679,
                          "column": 35
                        },
                        "end": {
                          "line": 679,
                          "column": 38
                        }
                      },
                      "name": "set"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 26850,
                      "end": 26861,
                      "loc": {
                        "start": {
                          "line": 679,
                          "column": 39
                        },
                        "end": {
                          "line": 679,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 26850,
                        "end": 26859,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 39
                          },
                          "end": {
                            "line": 679,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26850,
                          "end": 26856,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 39
                            },
                            "end": {
                              "line": 679,
                              "column": 45
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 26857,
                          "end": 26858,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 46
                            },
                            "end": {
                              "line": 679,
                              "column": 47
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26860,
                        "end": 26861,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 49
                          },
                          "end": {
                            "line": 679,
                            "column": 50
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 26863,
                      "end": 26874,
                      "loc": {
                        "start": {
                          "line": 679,
                          "column": 52
                        },
                        "end": {
                          "line": 679,
                          "column": 63
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 26863,
                        "end": 26872,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 52
                          },
                          "end": {
                            "line": 679,
                            "column": 61
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26863,
                          "end": 26869,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 52
                            },
                            "end": {
                              "line": 679,
                              "column": 58
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 26870,
                          "end": 26871,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 59
                            },
                            "end": {
                              "line": 679,
                              "column": 60
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26873,
                        "end": 26874,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 62
                          },
                          "end": {
                            "line": 679,
                            "column": 63
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 26876,
                      "end": 26887,
                      "loc": {
                        "start": {
                          "line": 679,
                          "column": 65
                        },
                        "end": {
                          "line": 679,
                          "column": 76
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 26876,
                        "end": 26885,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 65
                          },
                          "end": {
                            "line": 679,
                            "column": 74
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26876,
                          "end": 26882,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 65
                            },
                            "end": {
                              "line": 679,
                              "column": 71
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 26883,
                          "end": 26884,
                          "loc": {
                            "start": {
                              "line": 679,
                              "column": 72
                            },
                            "end": {
                              "line": 679,
                              "column": 73
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26886,
                        "end": 26887,
                        "loc": {
                          "start": {
                            "line": 679,
                            "column": 75
                          },
                          "end": {
                            "line": 679,
                            "column": 76
                          }
                        },
                        "name": "x"
                      },
                      "computed": false
                    }
                  ]
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " calculate elements of Gram matrix (i.e. A A^t)",
                "start": 26761,
                "end": 26810,
                "loc": {
                  "start": {
                    "line": 678,
                    "column": 4
                  },
                  "end": {
                    "line": 678,
                    "column": 53
                  }
                },
                "range": [
                  26761,
                  26810
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 26894,
            "end": 26968,
            "loc": {
              "start": {
                "line": 680,
                "column": 4
              },
              "end": {
                "line": 680,
                "column": 78
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 26898,
                "end": 26967,
                "loc": {
                  "start": {
                    "line": 680,
                    "column": 8
                  },
                  "end": {
                    "line": 680,
                    "column": 77
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 26898,
                  "end": 26902,
                  "loc": {
                    "start": {
                      "line": 680,
                      "column": 8
                    },
                    "end": {
                      "line": 680,
                      "column": 12
                    }
                  },
                  "name": "rowY"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 26905,
                  "end": 26967,
                  "loc": {
                    "start": {
                      "line": 680,
                      "column": 15
                    },
                    "end": {
                      "line": 680,
                      "column": 77
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 26905,
                    "end": 26928,
                    "loc": {
                      "start": {
                        "line": 680,
                        "column": 15
                      },
                      "end": {
                        "line": 680,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "NewExpression",
                      "start": 26905,
                      "end": 26924,
                      "loc": {
                        "start": {
                          "line": 680,
                          "column": 15
                        },
                        "end": {
                          "line": 680,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 26909,
                        "end": 26922,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 19
                          },
                          "end": {
                            "line": 680,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26909,
                          "end": 26914,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 19
                            },
                            "end": {
                              "line": 680,
                              "column": 24
                            }
                          },
                          "name": "THREE"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 26915,
                          "end": 26922,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 25
                            },
                            "end": {
                              "line": 680,
                              "column": 32
                            }
                          },
                          "name": "Vector3"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 26925,
                      "end": 26928,
                      "loc": {
                        "start": {
                          "line": 680,
                          "column": 35
                        },
                        "end": {
                          "line": 680,
                          "column": 38
                        }
                      },
                      "name": "set"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 26929,
                      "end": 26940,
                      "loc": {
                        "start": {
                          "line": 680,
                          "column": 39
                        },
                        "end": {
                          "line": 680,
                          "column": 50
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 26929,
                        "end": 26938,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 39
                          },
                          "end": {
                            "line": 680,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26929,
                          "end": 26935,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 39
                            },
                            "end": {
                              "line": 680,
                              "column": 45
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 26936,
                          "end": 26937,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 46
                            },
                            "end": {
                              "line": 680,
                              "column": 47
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26939,
                        "end": 26940,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 49
                          },
                          "end": {
                            "line": 680,
                            "column": 50
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 26942,
                      "end": 26953,
                      "loc": {
                        "start": {
                          "line": 680,
                          "column": 52
                        },
                        "end": {
                          "line": 680,
                          "column": 63
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 26942,
                        "end": 26951,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 52
                          },
                          "end": {
                            "line": 680,
                            "column": 61
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26942,
                          "end": 26948,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 52
                            },
                            "end": {
                              "line": 680,
                              "column": 58
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 26949,
                          "end": 26950,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 59
                            },
                            "end": {
                              "line": 680,
                              "column": 60
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26952,
                        "end": 26953,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 62
                          },
                          "end": {
                            "line": 680,
                            "column": 63
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    },
                    {
                      "type": "MemberExpression",
                      "start": 26955,
                      "end": 26966,
                      "loc": {
                        "start": {
                          "line": 680,
                          "column": 65
                        },
                        "end": {
                          "line": 680,
                          "column": 76
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 26955,
                        "end": 26964,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 65
                          },
                          "end": {
                            "line": 680,
                            "column": 74
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 26955,
                          "end": 26961,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 65
                            },
                            "end": {
                              "line": 680,
                              "column": 71
                            }
                          },
                          "name": "derivs"
                        },
                        "property": {
                          "type": "Literal",
                          "start": 26962,
                          "end": 26963,
                          "loc": {
                            "start": {
                              "line": 680,
                              "column": 72
                            },
                            "end": {
                              "line": 680,
                              "column": 73
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 26965,
                        "end": 26966,
                        "loc": {
                          "start": {
                            "line": 680,
                            "column": 75
                          },
                          "end": {
                            "line": 680,
                            "column": 76
                          }
                        },
                        "name": "y"
                      },
                      "computed": false
                    }
                  ]
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 26973,
            "end": 26998,
            "loc": {
              "start": {
                "line": 681,
                "column": 4
              },
              "end": {
                "line": 681,
                "column": 29
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 26977,
                "end": 26997,
                "loc": {
                  "start": {
                    "line": 681,
                    "column": 8
                  },
                  "end": {
                    "line": 681,
                    "column": 28
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 26977,
                  "end": 26979,
                  "loc": {
                    "start": {
                      "line": 681,
                      "column": 8
                    },
                    "end": {
                      "line": 681,
                      "column": 10
                    }
                  },
                  "name": "xx"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 26982,
                  "end": 26997,
                  "loc": {
                    "start": {
                      "line": 681,
                      "column": 13
                    },
                    "end": {
                      "line": 681,
                      "column": 28
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 26982,
                    "end": 26995,
                    "loc": {
                      "start": {
                        "line": 681,
                        "column": 13
                      },
                      "end": {
                        "line": 681,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 26982,
                      "end": 26986,
                      "loc": {
                        "start": {
                          "line": 681,
                          "column": 13
                        },
                        "end": {
                          "line": 681,
                          "column": 17
                        }
                      },
                      "name": "rowX"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 26987,
                      "end": 26995,
                      "loc": {
                        "start": {
                          "line": 681,
                          "column": 18
                        },
                        "end": {
                          "line": 681,
                          "column": 26
                        }
                      },
                      "name": "lengthSq"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 27003,
            "end": 27028,
            "loc": {
              "start": {
                "line": 682,
                "column": 4
              },
              "end": {
                "line": 682,
                "column": 29
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 27007,
                "end": 27027,
                "loc": {
                  "start": {
                    "line": 682,
                    "column": 8
                  },
                  "end": {
                    "line": 682,
                    "column": 28
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 27007,
                  "end": 27009,
                  "loc": {
                    "start": {
                      "line": 682,
                      "column": 8
                    },
                    "end": {
                      "line": 682,
                      "column": 10
                    }
                  },
                  "name": "yy"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 27012,
                  "end": 27027,
                  "loc": {
                    "start": {
                      "line": 682,
                      "column": 13
                    },
                    "end": {
                      "line": 682,
                      "column": 28
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 27012,
                    "end": 27025,
                    "loc": {
                      "start": {
                        "line": 682,
                        "column": 13
                      },
                      "end": {
                        "line": 682,
                        "column": 26
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 27012,
                      "end": 27016,
                      "loc": {
                        "start": {
                          "line": 682,
                          "column": 13
                        },
                        "end": {
                          "line": 682,
                          "column": 17
                        }
                      },
                      "name": "rowY"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 27017,
                      "end": 27025,
                      "loc": {
                        "start": {
                          "line": 682,
                          "column": 18
                        },
                        "end": {
                          "line": 682,
                          "column": 26
                        }
                      },
                      "name": "lengthSq"
                    },
                    "computed": false
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 27033,
            "end": 27057,
            "loc": {
              "start": {
                "line": 683,
                "column": 4
              },
              "end": {
                "line": 683,
                "column": 28
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 27037,
                "end": 27056,
                "loc": {
                  "start": {
                    "line": 683,
                    "column": 8
                  },
                  "end": {
                    "line": 683,
                    "column": 27
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 27037,
                  "end": 27039,
                  "loc": {
                    "start": {
                      "line": 683,
                      "column": 8
                    },
                    "end": {
                      "line": 683,
                      "column": 10
                    }
                  },
                  "name": "xy"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 27042,
                  "end": 27056,
                  "loc": {
                    "start": {
                      "line": 683,
                      "column": 13
                    },
                    "end": {
                      "line": 683,
                      "column": 27
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 27042,
                    "end": 27050,
                    "loc": {
                      "start": {
                        "line": 683,
                        "column": 13
                      },
                      "end": {
                        "line": 683,
                        "column": 21
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 27042,
                      "end": 27046,
                      "loc": {
                        "start": {
                          "line": 683,
                          "column": 13
                        },
                        "end": {
                          "line": 683,
                          "column": 17
                        }
                      },
                      "name": "rowX"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 27047,
                      "end": 27050,
                      "loc": {
                        "start": {
                          "line": 683,
                          "column": 18
                        },
                        "end": {
                          "line": 683,
                          "column": 21
                        }
                      },
                      "name": "dot"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 27051,
                      "end": 27055,
                      "loc": {
                        "start": {
                          "line": 683,
                          "column": 22
                        },
                        "end": {
                          "line": 683,
                          "column": 26
                        }
                      },
                      "name": "rowY"
                    }
                  ]
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "find its maximal eigenvalue by solving quadratic equation",
                "start": 27062,
                "end": 27121,
                "loc": {
                  "start": {
                    "line": 684,
                    "column": 4
                  },
                  "end": {
                    "line": 684,
                    "column": 63
                  }
                },
                "range": [
                  27062,
                  27121
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 27126,
            "end": 27150,
            "loc": {
              "start": {
                "line": 685,
                "column": 4
              },
              "end": {
                "line": 685,
                "column": 28
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 27130,
                "end": 27149,
                "loc": {
                  "start": {
                    "line": 685,
                    "column": 8
                  },
                  "end": {
                    "line": 685,
                    "column": 27
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 27130,
                  "end": 27133,
                  "loc": {
                    "start": {
                      "line": 685,
                      "column": 8
                    },
                    "end": {
                      "line": 685,
                      "column": 11
                    }
                  },
                  "name": "mid",
                  "leadingComments": null
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 27136,
                  "end": 27149,
                  "loc": {
                    "start": {
                      "line": 685,
                      "column": 14
                    },
                    "end": {
                      "line": 685,
                      "column": 27
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 27137,
                    "end": 27144,
                    "loc": {
                      "start": {
                        "line": 685,
                        "column": 15
                      },
                      "end": {
                        "line": 685,
                        "column": 22
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 27137,
                      "end": 27139,
                      "loc": {
                        "start": {
                          "line": 685,
                          "column": 15
                        },
                        "end": {
                          "line": 685,
                          "column": 17
                        }
                      },
                      "name": "xx"
                    },
                    "operator": "+",
                    "right": {
                      "type": "Identifier",
                      "start": 27142,
                      "end": 27144,
                      "loc": {
                        "start": {
                          "line": 685,
                          "column": 20
                        },
                        "end": {
                          "line": 685,
                          "column": 22
                        }
                      },
                      "name": "yy"
                    },
                    "parenthesizedExpression": true
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 27148,
                    "end": 27149,
                    "loc": {
                      "start": {
                        "line": 685,
                        "column": 26
                      },
                      "end": {
                        "line": 685,
                        "column": 27
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                },
                "leadingComments": null
              }
            ],
            "kind": "var",
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "find its maximal eigenvalue by solving quadratic equation",
                "start": 27062,
                "end": 27121,
                "loc": {
                  "start": {
                    "line": 684,
                    "column": 4
                  },
                  "end": {
                    "line": 684,
                    "column": 63
                  }
                },
                "range": [
                  27062,
                  27121
                ]
              }
            ]
          },
          {
            "type": "VariableDeclaration",
            "start": 27155,
            "end": 27181,
            "loc": {
              "start": {
                "line": 686,
                "column": 4
              },
              "end": {
                "line": 686,
                "column": 30
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 27159,
                "end": 27180,
                "loc": {
                  "start": {
                    "line": 686,
                    "column": 8
                  },
                  "end": {
                    "line": 686,
                    "column": 29
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 27159,
                  "end": 27164,
                  "loc": {
                    "start": {
                      "line": 686,
                      "column": 8
                    },
                    "end": {
                      "line": 686,
                      "column": 13
                    }
                  },
                  "name": "hDiff"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 27167,
                  "end": 27180,
                  "loc": {
                    "start": {
                      "line": 686,
                      "column": 16
                    },
                    "end": {
                      "line": 686,
                      "column": 29
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 27168,
                    "end": 27175,
                    "loc": {
                      "start": {
                        "line": 686,
                        "column": 17
                      },
                      "end": {
                        "line": 686,
                        "column": 24
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 27168,
                      "end": 27170,
                      "loc": {
                        "start": {
                          "line": 686,
                          "column": 17
                        },
                        "end": {
                          "line": 686,
                          "column": 19
                        }
                      },
                      "name": "xx"
                    },
                    "operator": "-",
                    "right": {
                      "type": "Identifier",
                      "start": 27173,
                      "end": 27175,
                      "loc": {
                        "start": {
                          "line": 686,
                          "column": 22
                        },
                        "end": {
                          "line": 686,
                          "column": 24
                        }
                      },
                      "name": "yy"
                    },
                    "parenthesizedExpression": true
                  },
                  "operator": "/",
                  "right": {
                    "type": "Literal",
                    "start": 27179,
                    "end": 27180,
                    "loc": {
                      "start": {
                        "line": 686,
                        "column": 28
                      },
                      "end": {
                        "line": 686,
                        "column": 29
                      }
                    },
                    "value": 2,
                    "rawValue": 2,
                    "raw": "2"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 27186,
            "end": 27222,
            "loc": {
              "start": {
                "line": 687,
                "column": 4
              },
              "end": {
                "line": 687,
                "column": 40
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 27190,
                "end": 27221,
                "loc": {
                  "start": {
                    "line": 687,
                    "column": 8
                  },
                  "end": {
                    "line": 687,
                    "column": 39
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 27190,
                  "end": 27195,
                  "loc": {
                    "start": {
                      "line": 687,
                      "column": 8
                    },
                    "end": {
                      "line": 687,
                      "column": 13
                    }
                  },
                  "name": "discr"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 27198,
                  "end": 27221,
                  "loc": {
                    "start": {
                      "line": 687,
                      "column": 16
                    },
                    "end": {
                      "line": 687,
                      "column": 39
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 27198,
                    "end": 27211,
                    "loc": {
                      "start": {
                        "line": 687,
                        "column": 16
                      },
                      "end": {
                        "line": 687,
                        "column": 29
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 27198,
                      "end": 27203,
                      "loc": {
                        "start": {
                          "line": 687,
                          "column": 16
                        },
                        "end": {
                          "line": 687,
                          "column": 21
                        }
                      },
                      "name": "hDiff"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 27206,
                      "end": 27211,
                      "loc": {
                        "start": {
                          "line": 687,
                          "column": 24
                        },
                        "end": {
                          "line": 687,
                          "column": 29
                        }
                      },
                      "name": "hDiff"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "BinaryExpression",
                    "start": 27214,
                    "end": 27221,
                    "loc": {
                      "start": {
                        "line": 687,
                        "column": 32
                      },
                      "end": {
                        "line": 687,
                        "column": 39
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 27214,
                      "end": 27216,
                      "loc": {
                        "start": {
                          "line": 687,
                          "column": 32
                        },
                        "end": {
                          "line": 687,
                          "column": 34
                        }
                      },
                      "name": "xy"
                    },
                    "operator": "*",
                    "right": {
                      "type": "Identifier",
                      "start": 27219,
                      "end": 27221,
                      "loc": {
                        "start": {
                          "line": 687,
                          "column": 37
                        },
                        "end": {
                          "line": 687,
                          "column": 39
                        }
                      },
                      "name": "xy"
                    }
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 27227,
            "end": 27276,
            "loc": {
              "start": {
                "line": 688,
                "column": 4
              },
              "end": {
                "line": 688,
                "column": 53
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 27231,
                "end": 27275,
                "loc": {
                  "start": {
                    "line": 688,
                    "column": 8
                  },
                  "end": {
                    "line": 688,
                    "column": 52
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 27231,
                  "end": 27235,
                  "loc": {
                    "start": {
                      "line": 688,
                      "column": 8
                    },
                    "end": {
                      "line": 688,
                      "column": 12
                    }
                  },
                  "name": "norm"
                },
                "init": {
                  "type": "BinaryExpression",
                  "start": 27238,
                  "end": 27275,
                  "loc": {
                    "start": {
                      "line": 688,
                      "column": 15
                    },
                    "end": {
                      "line": 688,
                      "column": 52
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 27238,
                    "end": 27241,
                    "loc": {
                      "start": {
                        "line": 688,
                        "column": 15
                      },
                      "end": {
                        "line": 688,
                        "column": 18
                      }
                    },
                    "name": "mid"
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 27244,
                    "end": 27275,
                    "loc": {
                      "start": {
                        "line": 688,
                        "column": 21
                      },
                      "end": {
                        "line": 688,
                        "column": 52
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 27244,
                      "end": 27253,
                      "loc": {
                        "start": {
                          "line": 688,
                          "column": 21
                        },
                        "end": {
                          "line": 688,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 27244,
                        "end": 27248,
                        "loc": {
                          "start": {
                            "line": 688,
                            "column": 21
                          },
                          "end": {
                            "line": 688,
                            "column": 25
                          }
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 27249,
                        "end": 27253,
                        "loc": {
                          "start": {
                            "line": 688,
                            "column": 26
                          },
                          "end": {
                            "line": 688,
                            "column": 30
                          }
                        },
                        "name": "sqrt"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 27254,
                        "end": 27274,
                        "loc": {
                          "start": {
                            "line": 688,
                            "column": 31
                          },
                          "end": {
                            "line": 688,
                            "column": 51
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 27254,
                          "end": 27262,
                          "loc": {
                            "start": {
                              "line": 688,
                              "column": 31
                            },
                            "end": {
                              "line": 688,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 27254,
                            "end": 27258,
                            "loc": {
                              "start": {
                                "line": 688,
                                "column": 31
                              },
                              "end": {
                                "line": 688,
                                "column": 35
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 27259,
                            "end": 27262,
                            "loc": {
                              "start": {
                                "line": 688,
                                "column": 36
                              },
                              "end": {
                                "line": 688,
                                "column": 39
                              }
                            },
                            "name": "max"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 27263,
                            "end": 27268,
                            "loc": {
                              "start": {
                                "line": 688,
                                "column": 40
                              },
                              "end": {
                                "line": 688,
                                "column": 45
                              }
                            },
                            "name": "discr"
                          },
                          {
                            "type": "Literal",
                            "start": 27270,
                            "end": 27273,
                            "loc": {
                              "start": {
                                "line": 688,
                                "column": 47
                              },
                              "end": {
                                "line": 688,
                                "column": 50
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0.0"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            ],
            "kind": "var",
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": "singular value is its square root",
                "start": 27281,
                "end": 27316,
                "loc": {
                  "start": {
                    "line": 689,
                    "column": 4
                  },
                  "end": {
                    "line": 689,
                    "column": 39
                  }
                },
                "range": [
                  27281,
                  27316
                ]
              }
            ]
          },
          {
            "type": "ReturnStatement",
            "start": 27321,
            "end": 27359,
            "loc": {
              "start": {
                "line": 690,
                "column": 4
              },
              "end": {
                "line": 690,
                "column": 42
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 27328,
              "end": 27358,
              "loc": {
                "start": {
                  "line": 690,
                  "column": 11
                },
                "end": {
                  "line": 690,
                  "column": 41
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 27328,
                "end": 27337,
                "loc": {
                  "start": {
                    "line": 690,
                    "column": 11
                  },
                  "end": {
                    "line": 690,
                    "column": 20
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 27328,
                  "end": 27332,
                  "loc": {
                    "start": {
                      "line": 690,
                      "column": 11
                    },
                    "end": {
                      "line": 690,
                      "column": 15
                    }
                  },
                  "name": "Math",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 27333,
                  "end": 27337,
                  "loc": {
                    "start": {
                      "line": 690,
                      "column": 16
                    },
                    "end": {
                      "line": 690,
                      "column": 20
                    }
                  },
                  "name": "sqrt"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 27338,
                  "end": 27357,
                  "loc": {
                    "start": {
                      "line": 690,
                      "column": 21
                    },
                    "end": {
                      "line": 690,
                      "column": 40
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 27338,
                    "end": 27346,
                    "loc": {
                      "start": {
                        "line": 690,
                        "column": 21
                      },
                      "end": {
                        "line": 690,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 27338,
                      "end": 27342,
                      "loc": {
                        "start": {
                          "line": 690,
                          "column": 21
                        },
                        "end": {
                          "line": 690,
                          "column": 25
                        }
                      },
                      "name": "Math"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 27343,
                      "end": 27346,
                      "loc": {
                        "start": {
                          "line": 690,
                          "column": 26
                        },
                        "end": {
                          "line": 690,
                          "column": 29
                        }
                      },
                      "name": "max"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 27347,
                      "end": 27351,
                      "loc": {
                        "start": {
                          "line": 690,
                          "column": 30
                        },
                        "end": {
                          "line": 690,
                          "column": 34
                        }
                      },
                      "name": "norm"
                    },
                    {
                      "type": "Literal",
                      "start": 27353,
                      "end": 27356,
                      "loc": {
                        "start": {
                          "line": 690,
                          "column": 36
                        },
                        "end": {
                          "line": 690,
                          "column": 39
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0.0"
                    }
                  ]
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": "singular value is its square root",
                "start": 27281,
                "end": 27316,
                "loc": {
                  "start": {
                    "line": 689,
                    "column": 4
                  },
                  "end": {
                    "line": 689,
                    "column": 39
                  }
                },
                "range": [
                  27281,
                  27316
                ]
              }
            ]
          }
        ]
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Calculates coefficient, which allows to translate world size to screen size.\n * @param screenCoordsResult - result of method 'transformWorldToScreen' with derivatives\n * @return number alpha such that:\n *   a sphere of radius R in 3D world space corresponds to\n *   an ellipse with major radius (alpha * R) pixels on screen.\n ",
          "start": 26201,
          "end": 26536,
          "loc": {
            "start": {
              "line": 668,
              "column": 0
            },
            "end": {
              "line": 674,
              "column": 3
            }
          },
          "range": [
            26201,
            26536
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 27363,
      "end": 27712,
      "loc": {
        "start": {
          "line": 693,
          "column": 0
        },
        "end": {
          "line": 700,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 27372,
        "end": 27399,
        "loc": {
          "start": {
            "line": 693,
            "column": 9
          },
          "end": {
            "line": 693,
            "column": 36
          }
        },
        "name": "updateSizesAndVisualization"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [],
      "body": {
        "type": "BlockStatement",
        "start": 27402,
        "end": 27712,
        "loc": {
          "start": {
            "line": 693,
            "column": 39
          },
          "end": {
            "line": 700,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 27408,
            "end": 27710,
            "loc": {
              "start": {
                "line": 694,
                "column": 4
              },
              "end": {
                "line": 699,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 27408,
              "end": 27709,
              "loc": {
                "start": {
                  "line": 694,
                  "column": 4
                },
                "end": {
                  "line": 699,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 27408,
                "end": 27437,
                "loc": {
                  "start": {
                    "line": 694,
                    "column": 4
                  },
                  "end": {
                    "line": 694,
                    "column": 33
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 27408,
                  "end": 27414,
                  "loc": {
                    "start": {
                      "line": 694,
                      "column": 4
                    },
                    "end": {
                      "line": 694,
                      "column": 10
                    }
                  },
                  "name": "Sketch"
                },
                "property": {
                  "type": "Identifier",
                  "start": 27415,
                  "end": 27437,
                  "loc": {
                    "start": {
                      "line": 694,
                      "column": 11
                    },
                    "end": {
                      "line": 694,
                      "column": 33
                    }
                  },
                  "name": "ForObjectsWithChildren"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ThisExpression",
                  "start": 27438,
                  "end": 27442,
                  "loc": {
                    "start": {
                      "line": 694,
                      "column": 34
                    },
                    "end": {
                      "line": 694,
                      "column": 38
                    }
                  }
                },
                {
                  "type": "ArrowFunctionExpression",
                  "start": 27444,
                  "end": 27708,
                  "loc": {
                    "start": {
                      "line": 694,
                      "column": 40
                    },
                    "end": {
                      "line": 699,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 27444,
                      "end": 27447,
                      "loc": {
                        "start": {
                          "line": 694,
                          "column": 40
                        },
                        "end": {
                          "line": 694,
                          "column": 43
                        }
                      },
                      "name": "obj"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 27451,
                    "end": 27708,
                    "loc": {
                      "start": {
                        "line": 694,
                        "column": 47
                      },
                      "end": {
                        "line": 699,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 27461,
                        "end": 27478,
                        "loc": {
                          "start": {
                            "line": 695,
                            "column": 8
                          },
                          "end": {
                            "line": 695,
                            "column": 25
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 27465,
                          "end": 27469,
                          "loc": {
                            "start": {
                              "line": 695,
                              "column": 12
                            },
                            "end": {
                              "line": 695,
                              "column": 16
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 27466,
                            "end": 27469,
                            "loc": {
                              "start": {
                                "line": 695,
                                "column": 13
                              },
                              "end": {
                                "line": 695,
                                "column": 16
                              }
                            },
                            "name": "obj"
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 27471,
                          "end": 27478,
                          "loc": {
                            "start": {
                              "line": 695,
                              "column": 18
                            },
                            "end": {
                              "line": 695,
                              "column": 25
                            }
                          },
                          "argument": null,
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": "TODO: perhaps we can add a \"dirty\" flag to avoid doing all the updates every frame...",
                            "start": 27487,
                            "end": 27574,
                            "loc": {
                              "start": {
                                "line": 696,
                                "column": 8
                              },
                              "end": {
                                "line": 696,
                                "column": 95
                              }
                            },
                            "range": [
                              27487,
                              27574
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 27583,
                        "end": 27640,
                        "loc": {
                          "start": {
                            "line": 697,
                            "column": 8
                          },
                          "end": {
                            "line": 697,
                            "column": 65
                          }
                        },
                        "expression": {
                          "type": "LogicalExpression",
                          "start": 27583,
                          "end": 27639,
                          "loc": {
                            "start": {
                              "line": 697,
                              "column": 8
                            },
                            "end": {
                              "line": 697,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 27583,
                            "end": 27610,
                            "loc": {
                              "start": {
                                "line": 697,
                                "column": 8
                              },
                              "end": {
                                "line": 697,
                                "column": 35
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 27583,
                              "end": 27598,
                              "loc": {
                                "start": {
                                  "line": 697,
                                  "column": 8
                                },
                                "end": {
                                  "line": 697,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27583,
                                "end": 27586,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 11
                                  }
                                },
                                "name": "obj",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27587,
                                "end": 27598,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 23
                                  }
                                },
                                "name": "updateSizes"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "operator": "&&",
                            "right": {
                              "type": "MemberExpression",
                              "start": 27602,
                              "end": 27610,
                              "loc": {
                                "start": {
                                  "line": 697,
                                  "column": 27
                                },
                                "end": {
                                  "line": 697,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27602,
                                "end": 27605,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 30
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27606,
                                "end": 27610,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 35
                                  }
                                },
                                "name": "view"
                              },
                              "computed": false
                            },
                            "leadingComments": null
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 27614,
                            "end": 27639,
                            "loc": {
                              "start": {
                                "line": 697,
                                "column": 39
                              },
                              "end": {
                                "line": 697,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 27614,
                              "end": 27629,
                              "loc": {
                                "start": {
                                  "line": 697,
                                  "column": 39
                                },
                                "end": {
                                  "line": 697,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27614,
                                "end": 27617,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 42
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27618,
                                "end": 27629,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 54
                                  }
                                },
                                "name": "updateSizes"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 27630,
                                "end": 27638,
                                "loc": {
                                  "start": {
                                    "line": 697,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 697,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 27630,
                                  "end": 27633,
                                  "loc": {
                                    "start": {
                                      "line": 697,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 697,
                                      "column": 58
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 27634,
                                  "end": 27638,
                                  "loc": {
                                    "start": {
                                      "line": 697,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 697,
                                      "column": 63
                                    }
                                  },
                                  "name": "view"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "TODO: perhaps we can add a \"dirty\" flag to avoid doing all the updates every frame...",
                            "start": 27487,
                            "end": 27574,
                            "loc": {
                              "start": {
                                "line": 696,
                                "column": 8
                              },
                              "end": {
                                "line": 696,
                                "column": 95
                              }
                            },
                            "range": [
                              27487,
                              27574
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 27649,
                        "end": 27702,
                        "loc": {
                          "start": {
                            "line": 698,
                            "column": 8
                          },
                          "end": {
                            "line": 698,
                            "column": 61
                          }
                        },
                        "expression": {
                          "type": "LogicalExpression",
                          "start": 27649,
                          "end": 27701,
                          "loc": {
                            "start": {
                              "line": 698,
                              "column": 8
                            },
                            "end": {
                              "line": 698,
                              "column": 60
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 27649,
                            "end": 27672,
                            "loc": {
                              "start": {
                                "line": 698,
                                "column": 8
                              },
                              "end": {
                                "line": 698,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 27649,
                              "end": 27652,
                              "loc": {
                                "start": {
                                  "line": 698,
                                  "column": 8
                                },
                                "end": {
                                  "line": 698,
                                  "column": 11
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 27653,
                              "end": 27672,
                              "loc": {
                                "start": {
                                  "line": 698,
                                  "column": 12
                                },
                                "end": {
                                  "line": 698,
                                  "column": 31
                                }
                              },
                              "name": "updateVisualization"
                            },
                            "computed": false
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 27676,
                            "end": 27701,
                            "loc": {
                              "start": {
                                "line": 698,
                                "column": 35
                              },
                              "end": {
                                "line": 698,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 27676,
                              "end": 27699,
                              "loc": {
                                "start": {
                                  "line": 698,
                                  "column": 35
                                },
                                "end": {
                                  "line": 698,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 27676,
                                "end": 27679,
                                "loc": {
                                  "start": {
                                    "line": 698,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 698,
                                    "column": 38
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 27680,
                                "end": 27699,
                                "loc": {
                                  "start": {
                                    "line": 698,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 698,
                                    "column": 58
                                  }
                                },
                                "name": "updateVisualization"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}