{
  "type": "File",
  "start": 0,
  "end": 9906,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 262,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 9906,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 262,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 31,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 31
          }
        },
        "specifiers": [
          {
            "type": "ImportNamespaceSpecifier",
            "start": 7,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 12,
              "end": 17,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 12
                },
                "end": {
                  "line": 1,
                  "column": 17
                },
                "identifierName": "THREE"
              },
              "name": "THREE"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 23,
          "end": 30,
          "loc": {
            "start": {
              "line": 1,
              "column": 23
            },
            "end": {
              "line": 1,
              "column": 30
            }
          },
          "extra": {
            "rawValue": "three",
            "raw": "'three'"
          },
          "value": "three"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 32,
        "end": 77,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 39,
            "end": 46,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 39,
              "end": 46,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 14
                },
                "identifierName": "Object3"
              },
              "name": "Object3"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 52,
          "end": 76,
          "loc": {
            "start": {
              "line": 2,
              "column": 20
            },
            "end": {
              "line": 2,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "../../../three/object3",
            "raw": "'../../../three/object3'"
          },
          "value": "../../../three/object3"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 78,
        "end": 107,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 29
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 85,
            "end": 90,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 12
              }
            },
            "local": {
              "type": "Identifier",
              "start": 85,
              "end": 90,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 12
                },
                "identifierName": "Ccref"
              },
              "name": "Ccref"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 96,
          "end": 106,
          "loc": {
            "start": {
              "line": 3,
              "column": 18
            },
            "end": {
              "line": 3,
              "column": 28
            }
          },
          "extra": {
            "rawValue": "../ccref",
            "raw": "'../ccref'"
          },
          "value": "../ccref"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 108,
        "end": 152,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 117,
            "end": 129,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 117,
              "end": 129,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 21
                },
                "identifierName": "getArcAngles"
              },
              "name": "getArcAngles"
            },
            "local": {
              "type": "Identifier",
              "start": 117,
              "end": 129,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 21
                },
                "identifierName": "getArcAngles"
              },
              "name": "getArcAngles"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 137,
          "end": 151,
          "loc": {
            "start": {
              "line": 4,
              "column": 29
            },
            "end": {
              "line": 4,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "../geomutils",
            "raw": "'../geomutils'"
          },
          "value": "../geomutils"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 153,
        "end": 209,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 56
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 160,
            "end": 178,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 25
              }
            },
            "local": {
              "type": "Identifier",
              "start": 160,
              "end": 178,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 25
                },
                "identifierName": "ConstraintGraphics"
              },
              "name": "ConstraintGraphics"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 184,
          "end": 208,
          "loc": {
            "start": {
              "line": 5,
              "column": 31
            },
            "end": {
              "line": 5,
              "column": 55
            }
          },
          "extra": {
            "rawValue": "../graphics/constraint",
            "raw": "'../graphics/constraint'"
          },
          "value": "../graphics/constraint"
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 211,
        "end": 286,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 11,
            "column": 3
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 217,
            "end": 285,
            "loc": {
              "start": {
                "line": 7,
                "column": 6
              },
              "end": {
                "line": 11,
                "column": 2
              }
            },
            "id": {
              "type": "Identifier",
              "start": 217,
              "end": 221,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 6
                },
                "end": {
                  "line": 7,
                  "column": 10
                },
                "identifierName": "Mode"
              },
              "name": "Mode"
            },
            "init": {
              "type": "CallExpression",
              "start": 224,
              "end": 285,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 13
                },
                "end": {
                  "line": 11,
                  "column": 2
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 224,
                "end": 237,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 13
                  },
                  "end": {
                    "line": 7,
                    "column": 26
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 224,
                  "end": 230,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 13
                    },
                    "end": {
                      "line": 7,
                      "column": 19
                    },
                    "identifierName": "Object"
                  },
                  "name": "Object"
                },
                "property": {
                  "type": "Identifier",
                  "start": 231,
                  "end": 237,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 20
                    },
                    "end": {
                      "line": 7,
                      "column": 26
                    },
                    "identifierName": "freeze"
                  },
                  "name": "freeze"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ObjectExpression",
                  "start": 238,
                  "end": 284,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 27
                    },
                    "end": {
                      "line": 11,
                      "column": 1
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 244,
                      "end": 252,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 4
                        },
                        "end": {
                          "line": 8,
                          "column": 12
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 244,
                        "end": 249,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 4
                          },
                          "end": {
                            "line": 8,
                            "column": 9
                          },
                          "identifierName": "Never"
                        },
                        "name": "Never"
                      },
                      "value": {
                        "type": "NumericLiteral",
                        "start": 251,
                        "end": 252,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 11
                          },
                          "end": {
                            "line": 8,
                            "column": 12
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 258,
                      "end": 266,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 4
                        },
                        "end": {
                          "line": 9,
                          "column": 12
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 258,
                        "end": 263,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 4
                          },
                          "end": {
                            "line": 9,
                            "column": 9
                          },
                          "identifierName": "Hover"
                        },
                        "name": "Hover"
                      },
                      "value": {
                        "type": "NumericLiteral",
                        "start": 265,
                        "end": 266,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 11
                          },
                          "end": {
                            "line": 9,
                            "column": 12
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 272,
                      "end": 281,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 4
                        },
                        "end": {
                          "line": 10,
                          "column": 13
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 272,
                        "end": 278,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 4
                          },
                          "end": {
                            "line": 10,
                            "column": 10
                          },
                          "identifierName": "Always"
                        },
                        "name": "Always"
                      },
                      "value": {
                        "type": "NumericLiteral",
                        "start": 280,
                        "end": 281,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 12
                          },
                          "end": {
                            "line": 10,
                            "column": 13
                          }
                        },
                        "extra": {
                          "rawValue": 2,
                          "raw": "2"
                        },
                        "value": 2
                      }
                    }
                  ]
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "FunctionDeclaration",
        "start": 288,
        "end": 369,
        "loc": {
          "start": {
            "line": 13,
            "column": 0
          },
          "end": {
            "line": 15,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 297,
          "end": 305,
          "loc": {
            "start": {
              "line": 13,
              "column": 9
            },
            "end": {
              "line": 13,
              "column": 17
            },
            "identifierName": "uniNorm2"
          },
          "name": "uniNorm2"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 306,
            "end": 309,
            "loc": {
              "start": {
                "line": 13,
                "column": 18
              },
              "end": {
                "line": 13,
                "column": 21
              },
              "identifierName": "vec"
            },
            "name": "vec"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 311,
          "end": 369,
          "loc": {
            "start": {
              "line": 13,
              "column": 23
            },
            "end": {
              "line": 15,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 317,
              "end": 367,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 4
                },
                "end": {
                  "line": 14,
                  "column": 54
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 324,
                "end": 366,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 11
                  },
                  "end": {
                    "line": 14,
                    "column": 53
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 324,
                  "end": 332,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 11
                    },
                    "end": {
                      "line": 14,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 324,
                    "end": 328,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 11
                      },
                      "end": {
                        "line": 14,
                        "column": 15
                      },
                      "identifierName": "Math"
                    },
                    "name": "Math"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 329,
                    "end": 332,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 16
                      },
                      "end": {
                        "line": 14,
                        "column": 19
                      },
                      "identifierName": "max"
                    },
                    "name": "max"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "CallExpression",
                    "start": 333,
                    "end": 348,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 20
                      },
                      "end": {
                        "line": 14,
                        "column": 35
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 333,
                      "end": 341,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 20
                        },
                        "end": {
                          "line": 14,
                          "column": 28
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 333,
                        "end": 337,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 20
                          },
                          "end": {
                            "line": 14,
                            "column": 24
                          },
                          "identifierName": "Math"
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 338,
                        "end": 341,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 25
                          },
                          "end": {
                            "line": 14,
                            "column": 28
                          },
                          "identifierName": "abs"
                        },
                        "name": "abs"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 342,
                        "end": 347,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 29
                          },
                          "end": {
                            "line": 14,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 342,
                          "end": 345,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 29
                            },
                            "end": {
                              "line": 14,
                              "column": 32
                            },
                            "identifierName": "vec"
                          },
                          "name": "vec"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 346,
                          "end": 347,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 33
                            },
                            "end": {
                              "line": 14,
                              "column": 34
                            },
                            "identifierName": "x"
                          },
                          "name": "x"
                        },
                        "computed": false
                      }
                    ]
                  },
                  {
                    "type": "CallExpression",
                    "start": 350,
                    "end": 365,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 37
                      },
                      "end": {
                        "line": 14,
                        "column": 52
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 350,
                      "end": 358,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 37
                        },
                        "end": {
                          "line": 14,
                          "column": 45
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 350,
                        "end": 354,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 37
                          },
                          "end": {
                            "line": 14,
                            "column": 41
                          },
                          "identifierName": "Math"
                        },
                        "name": "Math"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 355,
                        "end": 358,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 42
                          },
                          "end": {
                            "line": 14,
                            "column": 45
                          },
                          "identifierName": "abs"
                        },
                        "name": "abs"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 359,
                        "end": 364,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 46
                          },
                          "end": {
                            "line": 14,
                            "column": 51
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 359,
                          "end": 362,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 46
                            },
                            "end": {
                              "line": 14,
                              "column": 49
                            },
                            "identifierName": "vec"
                          },
                          "name": "vec"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 363,
                          "end": 364,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 50
                            },
                            "end": {
                              "line": 14,
                              "column": 51
                            },
                            "identifierName": "y"
                          },
                          "name": "y"
                        },
                        "computed": false
                      }
                    ]
                  }
                ]
              }
            }
          ],
          "directives": []
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 370,
        "end": 407,
        "loc": {
          "start": {
            "line": 16,
            "column": 0
          },
          "end": {
            "line": 18,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 379,
          "end": 382,
          "loc": {
            "start": {
              "line": 16,
              "column": 9
            },
            "end": {
              "line": 16,
              "column": 12
            },
            "identifierName": "sqr"
          },
          "name": "sqr"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 383,
            "end": 384,
            "loc": {
              "start": {
                "line": 16,
                "column": 13
              },
              "end": {
                "line": 16,
                "column": 14
              },
              "identifierName": "x"
            },
            "name": "x"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 386,
          "end": 407,
          "loc": {
            "start": {
              "line": 16,
              "column": 16
            },
            "end": {
              "line": 18,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 392,
              "end": 405,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 17,
                  "column": 17
                }
              },
              "argument": {
                "type": "BinaryExpression",
                "start": 399,
                "end": 404,
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 11
                  },
                  "end": {
                    "line": 17,
                    "column": 16
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 399,
                  "end": 400,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 11
                    },
                    "end": {
                      "line": 17,
                      "column": 12
                    },
                    "identifierName": "x"
                  },
                  "name": "x"
                },
                "operator": "*",
                "right": {
                  "type": "Identifier",
                  "start": 403,
                  "end": 404,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 15
                    },
                    "end": {
                      "line": 17,
                      "column": 16
                    },
                    "identifierName": "x"
                  },
                  "name": "x"
                }
              }
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 409,
        "end": 9905,
        "loc": {
          "start": {
            "line": 20,
            "column": 0
          },
          "end": {
            "line": 261,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 424,
          "end": 9905,
          "loc": {
            "start": {
              "line": 20,
              "column": 15
            },
            "end": {
              "line": 261,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 430,
            "end": 440,
            "loc": {
              "start": {
                "line": 20,
                "column": 21
              },
              "end": {
                "line": 20,
                "column": 31
              },
              "identifierName": "Visualizer"
            },
            "name": "Visualizer"
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 441,
            "end": 9905,
            "loc": {
              "start": {
                "line": 20,
                "column": 32
              },
              "end": {
                "line": 261,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 447,
                "end": 996,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 4
                  },
                  "end": {
                    "line": 32,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 447,
                  "end": 458,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 4
                    },
                    "end": {
                      "line": 21,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 459,
                    "end": 467,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 16
                      },
                      "end": {
                        "line": 21,
                        "column": 24
                      },
                      "identifierName": "sketcher"
                    },
                    "name": "sketcher"
                  },
                  {
                    "type": "Identifier",
                    "start": 469,
                    "end": 477,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 26
                      },
                      "end": {
                        "line": 21,
                        "column": 34
                      },
                      "identifierName": "textures"
                    },
                    "name": "textures"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 479,
                  "end": 996,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 36
                    },
                    "end": {
                      "line": 32,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 489,
                      "end": 512,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 489,
                        "end": 511,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 489,
                          "end": 498,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 489,
                            "end": 493,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 494,
                            "end": 498,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 13
                              },
                              "end": {
                                "line": 22,
                                "column": 17
                              },
                              "identifierName": "mode"
                            },
                            "name": "mode"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 501,
                          "end": 511,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 20
                            },
                            "end": {
                              "line": 22,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 501,
                            "end": 505,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 20
                              },
                              "end": {
                                "line": 22,
                                "column": 24
                              },
                              "identifierName": "Mode"
                            },
                            "name": "Mode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 506,
                            "end": 511,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 25
                              },
                              "end": {
                                "line": 22,
                                "column": 30
                              },
                              "identifierName": "Hover"
                            },
                            "name": "Hover"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 521,
                      "end": 546,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 521,
                        "end": 545,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 521,
                          "end": 534,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 8
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 521,
                            "end": 525,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 526,
                            "end": 534,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 13
                              },
                              "end": {
                                "line": 23,
                                "column": 21
                              },
                              "identifierName": "sketcher"
                            },
                            "name": "sketcher"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 537,
                          "end": 545,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 24
                            },
                            "end": {
                              "line": 23,
                              "column": 32
                            },
                            "identifierName": "sketcher"
                          },
                          "name": "sketcher"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Set of constraint ids to avoid iterating and filtering sketch.children",
                          "start": 555,
                          "end": 628,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 81
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 637,
                      "end": 666,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 637,
                        "end": 665,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 637,
                          "end": 653,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 637,
                            "end": 641,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 642,
                            "end": 653,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 13
                              },
                              "end": {
                                "line": 25,
                                "column": 24
                              },
                              "identifierName": "constraints"
                            },
                            "name": "constraints"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 656,
                          "end": 665,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 27
                            },
                            "end": {
                              "line": 25,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 660,
                            "end": 663,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 31
                              },
                              "end": {
                                "line": 25,
                                "column": 34
                              },
                              "identifierName": "Set"
                            },
                            "name": "Set"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Set of constraint ids to avoid iterating and filtering sketch.children",
                          "start": 555,
                          "end": 628,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 81
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Reverse mapping from entities to constraints",
                          "start": 675,
                          "end": 722,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 55
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 731,
                      "end": 758,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 731,
                        "end": 757,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 731,
                          "end": 745,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 731,
                            "end": 735,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 736,
                            "end": 745,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 13
                              },
                              "end": {
                                "line": 27,
                                "column": 22
                              },
                              "identifierName": "entityFor"
                            },
                            "name": "entityFor"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 748,
                          "end": 757,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 25
                            },
                            "end": {
                              "line": 27,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 752,
                            "end": 755,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 29
                              },
                              "end": {
                                "line": 27,
                                "column": 32
                              },
                              "identifierName": "Map"
                            },
                            "name": "Map"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Reverse mapping from entities to constraints",
                          "start": 675,
                          "end": 722,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 55
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " For each constraint, its based entity is stored (where icon is rendered)",
                          "start": 767,
                          "end": 842,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 83
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 851,
                      "end": 882,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 851,
                        "end": 881,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 851,
                          "end": 869,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 851,
                            "end": 855,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 856,
                            "end": 869,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 13
                              },
                              "end": {
                                "line": 29,
                                "column": 26
                              },
                              "identifierName": "baseEntityFor"
                            },
                            "name": "baseEntityFor"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 872,
                          "end": 881,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 29
                            },
                            "end": {
                              "line": 29,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 876,
                            "end": 879,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 33
                              },
                              "end": {
                                "line": 29,
                                "column": 36
                              },
                              "identifierName": "Map"
                            },
                            "name": "Map"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " For each constraint, its based entity is stored (where icon is rendered)",
                          "start": 767,
                          "end": 842,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 83
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " If set to true, constraints would be repositioned next frame",
                          "start": 891,
                          "end": 954,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 8
                            },
                            "end": {
                              "line": 30,
                              "column": 71
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 963,
                      "end": 990,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 963,
                        "end": 989,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 963,
                          "end": 981,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 963,
                            "end": 967,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 968,
                            "end": 981,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 13
                              },
                              "end": {
                                "line": 31,
                                "column": 26
                              },
                              "identifierName": "graphicsDirty"
                            },
                            "name": "graphicsDirty"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 984,
                          "end": 989,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 29
                            },
                            "end": {
                              "line": 31,
                              "column": 34
                            }
                          },
                          "value": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " If set to true, constraints would be repositioned next frame",
                          "start": 891,
                          "end": 954,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 8
                            },
                            "end": {
                              "line": 30,
                              "column": 71
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1002,
                "end": 1087,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 4
                  },
                  "end": {
                    "line": 37,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1002,
                  "end": 1009,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 4
                    },
                    "end": {
                      "line": 34,
                      "column": 11
                    },
                    "identifierName": "refresh"
                  },
                  "name": "refresh"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1012,
                  "end": 1087,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 14
                    },
                    "end": {
                      "line": 37,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1022,
                      "end": 1048,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1022,
                        "end": 1047,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1022,
                          "end": 1040,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1022,
                            "end": 1026,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1027,
                            "end": 1040,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 13
                              },
                              "end": {
                                "line": 35,
                                "column": 26
                              },
                              "identifierName": "graphicsDirty"
                            },
                            "name": "graphicsDirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 1043,
                          "end": 1047,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 29
                            },
                            "end": {
                              "line": 35,
                              "column": 33
                            }
                          },
                          "value": true
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1057,
                      "end": 1081,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1057,
                        "end": 1080,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1057,
                          "end": 1078,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1057,
                            "end": 1070,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1057,
                              "end": 1061,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1062,
                              "end": 1070,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 13
                                },
                                "end": {
                                  "line": 36,
                                  "column": 21
                                },
                                "identifierName": "sketcher"
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1071,
                            "end": 1078,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 22
                              },
                              "end": {
                                "line": 36,
                                "column": 29
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1093,
                "end": 1190,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 4
                  },
                  "end": {
                    "line": 41,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1093,
                  "end": 1103,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 14
                    },
                    "identifierName": "isSelected"
                  },
                  "name": "isSelected"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1104,
                    "end": 1106,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 15
                      },
                      "end": {
                        "line": 39,
                        "column": 17
                      },
                      "identifierName": "id"
                    },
                    "name": "id"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1108,
                  "end": 1190,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 19
                    },
                    "end": {
                      "line": 41,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1118,
                      "end": 1184,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 74
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 1125,
                        "end": 1183,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 15
                          },
                          "end": {
                            "line": 40,
                            "column": 73
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 1125,
                          "end": 1176,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 15
                            },
                            "end": {
                              "line": 40,
                              "column": 66
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1125,
                            "end": 1172,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 15
                              },
                              "end": {
                                "line": 40,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 1125,
                              "end": 1164,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 15
                                },
                                "end": {
                                  "line": 40,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1125,
                                "end": 1162,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 1125,
                                  "end": 1147,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1125,
                                    "end": 1138,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 28
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1125,
                                      "end": 1129,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1130,
                                      "end": 1138,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 28
                                        },
                                        "identifierName": "sketcher"
                                      },
                                      "name": "sketcher"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1139,
                                    "end": 1147,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 37
                                      },
                                      "identifierName": "selector"
                                    },
                                    "name": "selector"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1148,
                                  "end": 1162,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 52
                                    },
                                    "identifierName": "getSelectedIds"
                                  },
                                  "name": "getSelectedIds"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1165,
                              "end": 1172,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 55
                                },
                                "end": {
                                  "line": 40,
                                  "column": 62
                                },
                                "identifierName": "indexOf"
                              },
                              "name": "indexOf"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1173,
                              "end": 1175,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 63
                                },
                                "end": {
                                  "line": 40,
                                  "column": 65
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            }
                          ]
                        },
                        "operator": "!==",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 1181,
                          "end": 1183,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 71
                            },
                            "end": {
                              "line": 40,
                              "column": 73
                            }
                          },
                          "operator": "-",
                          "prefix": true,
                          "argument": {
                            "type": "NumericLiteral",
                            "start": 1182,
                            "end": 1183,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 72
                              },
                              "end": {
                                "line": 40,
                                "column": 73
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1196,
                "end": 1517,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 4
                  },
                  "end": {
                    "line": 50,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1196,
                  "end": 1209,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 4
                    },
                    "end": {
                      "line": 43,
                      "column": 17
                    },
                    "identifierName": "setVisibility"
                  },
                  "name": "setVisibility"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1210,
                    "end": 1212,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 18
                      },
                      "end": {
                        "line": 43,
                        "column": 20
                      },
                      "identifierName": "id"
                    },
                    "name": "id"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1214,
                    "end": 1234,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 22
                      },
                      "end": {
                        "line": 43,
                        "column": 42
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1214,
                      "end": 1222,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 22
                        },
                        "end": {
                          "line": 43,
                          "column": 30
                        },
                        "identifierName": "newValue"
                      },
                      "name": "newValue"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 1225,
                      "end": 1234,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 33
                        },
                        "end": {
                          "line": 43,
                          "column": 42
                        },
                        "identifierName": "undefined"
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1236,
                  "end": 1517,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 44
                    },
                    "end": {
                      "line": 50,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1246,
                      "end": 1325,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 51
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1250,
                        "end": 1272,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 12
                          },
                          "end": {
                            "line": 44,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1250,
                          "end": 1258,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 12
                            },
                            "end": {
                              "line": 44,
                              "column": 20
                            },
                            "identifierName": "newValue"
                          },
                          "name": "newValue"
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 1263,
                          "end": 1272,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 25
                            },
                            "end": {
                              "line": 44,
                              "column": 34
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1286,
                        "end": 1325,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 12
                          },
                          "end": {
                            "line": 45,
                            "column": 51
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 1286,
                          "end": 1324,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 12
                            },
                            "end": {
                              "line": 45,
                              "column": 50
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 1286,
                            "end": 1294,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 12
                              },
                              "end": {
                                "line": 45,
                                "column": 20
                              },
                              "identifierName": "newValue"
                            },
                            "name": "newValue"
                          },
                          "right": {
                            "type": "BinaryExpression",
                            "start": 1298,
                            "end": 1323,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 24
                              },
                              "end": {
                                "line": 45,
                                "column": 49
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 1298,
                              "end": 1307,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 24
                                },
                                "end": {
                                  "line": 45,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1298,
                                "end": 1302,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1303,
                                "end": 1307,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 33
                                  },
                                  "identifierName": "mode"
                                },
                                "name": "mode"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "MemberExpression",
                              "start": 1312,
                              "end": 1323,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 38
                                },
                                "end": {
                                  "line": 45,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1312,
                                "end": 1316,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 42
                                  },
                                  "identifierName": "Mode"
                                },
                                "name": "Mode"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1317,
                                "end": 1323,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 49
                                  },
                                  "identifierName": "Always"
                                },
                                "name": "Always"
                              },
                              "computed": false
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 1297
                            }
                          }
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "note: we forbid hiding selected constraints",
                          "start": 1334,
                          "end": 1379,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 53
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 1388,
                      "end": 1445,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 1392,
                        "end": 1424,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 12
                          },
                          "end": {
                            "line": 47,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 1392,
                          "end": 1401,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 12
                            },
                            "end": {
                              "line": 47,
                              "column": 21
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 1393,
                            "end": 1401,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 21
                              },
                              "identifierName": "newValue"
                            },
                            "name": "newValue",
                            "leadingComments": null
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          },
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 1405,
                          "end": 1424,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 25
                            },
                            "end": {
                              "line": 47,
                              "column": 44
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1405,
                            "end": 1420,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 25
                              },
                              "end": {
                                "line": 47,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1405,
                              "end": 1409,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 25
                                },
                                "end": {
                                  "line": 47,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1410,
                              "end": 1420,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 30
                                },
                                "end": {
                                  "line": 47,
                                  "column": 40
                                },
                                "identifierName": "isSelected"
                              },
                              "name": "isSelected"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1421,
                              "end": 1423,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 41
                                },
                                "end": {
                                  "line": 47,
                                  "column": 43
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 1438,
                        "end": 1445,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 12
                          },
                          "end": {
                            "line": 48,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "note: we forbid hiding selected constraints",
                          "start": 1334,
                          "end": 1379,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 53
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1454,
                      "end": 1511,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1454,
                        "end": 1510,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1454,
                          "end": 1499,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1454,
                            "end": 1491,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "NewExpression",
                              "start": 1454,
                              "end": 1482,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 8
                                },
                                "end": {
                                  "line": 49,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1458,
                                "end": 1463,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 17
                                  },
                                  "identifierName": "Ccref"
                                },
                                "name": "Ccref"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1464,
                                  "end": 1477,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1464,
                                    "end": 1468,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1469,
                                    "end": 1477,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 31
                                      },
                                      "identifierName": "sketcher"
                                    },
                                    "name": "sketcher"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Identifier",
                                  "start": 1479,
                                  "end": 1481,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 35
                                    },
                                    "identifierName": "id"
                                  },
                                  "name": "id"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1483,
                              "end": 1491,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 37
                                },
                                "end": {
                                  "line": 49,
                                  "column": 45
                                },
                                "identifierName": "graphics"
                              },
                              "name": "graphics"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1492,
                            "end": 1499,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 46
                              },
                              "end": {
                                "line": 49,
                                "column": 53
                              },
                              "identifierName": "visible"
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1502,
                          "end": 1510,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 56
                            },
                            "end": {
                              "line": 49,
                              "column": 64
                            },
                            "identifierName": "newValue"
                          },
                          "name": "newValue"
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1523,
                "end": 2006,
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 4
                  },
                  "end": {
                    "line": 62,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1523,
                  "end": 1536,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 4
                    },
                    "end": {
                      "line": 52,
                      "column": 17
                    },
                    "identifierName": "addConstraint"
                  },
                  "name": "addConstraint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1537,
                    "end": 1547,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 18
                      },
                      "end": {
                        "line": 52,
                        "column": 28
                      },
                      "identifierName": "constraint"
                    },
                    "name": "constraint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1549,
                  "end": 2006,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 30
                    },
                    "end": {
                      "line": 62,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1559,
                      "end": 1624,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1563,
                        "end": 1615,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 12
                          },
                          "end": {
                            "line": 53,
                            "column": 64
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 1565,
                          "end": 1614,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 14
                            },
                            "end": {
                              "line": 53,
                              "column": 63
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 1565,
                            "end": 1584,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 14
                              },
                              "end": {
                                "line": 53,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1565,
                              "end": 1575,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 14
                                },
                                "end": {
                                  "line": 53,
                                  "column": 24
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1576,
                              "end": 1584,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 25
                                },
                                "end": {
                                  "line": 53,
                                  "column": 33
                                },
                                "identifierName": "graphics"
                              },
                              "name": "graphics"
                            },
                            "computed": false
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "Identifier",
                            "start": 1596,
                            "end": 1614,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 45
                              },
                              "end": {
                                "line": 53,
                                "column": 63
                              },
                              "identifierName": "ConstraintGraphics"
                            },
                            "name": "ConstraintGraphics"
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 1564
                          }
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 1617,
                        "end": 1624,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 66
                          },
                          "end": {
                            "line": 53,
                            "column": 73
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1633,
                      "end": 1669,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1633,
                        "end": 1668,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1633,
                          "end": 1653,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1633,
                            "end": 1649,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1633,
                              "end": 1637,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1638,
                              "end": 1649,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 13
                                },
                                "end": {
                                  "line": 54,
                                  "column": 24
                                },
                                "identifierName": "constraints"
                              },
                              "name": "constraints"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1650,
                            "end": 1653,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 25
                              },
                              "end": {
                                "line": 54,
                                "column": 28
                              },
                              "identifierName": "add"
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1654,
                            "end": 1667,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 29
                              },
                              "end": {
                                "line": 54,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1654,
                              "end": 1664,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 29
                                },
                                "end": {
                                  "line": 54,
                                  "column": 39
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1665,
                              "end": 1667,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 40
                                },
                                "end": {
                                  "line": 54,
                                  "column": 42
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1678,
                      "end": 1727,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1678,
                        "end": 1726,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1678,
                          "end": 1700,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1678,
                            "end": 1696,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1678,
                              "end": 1682,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1683,
                              "end": 1696,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 13
                                },
                                "end": {
                                  "line": 55,
                                  "column": 26
                                },
                                "identifierName": "baseEntityFor"
                              },
                              "name": "baseEntityFor"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1697,
                            "end": 1700,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 27
                              },
                              "end": {
                                "line": 55,
                                "column": 30
                              },
                              "identifierName": "set"
                            },
                            "name": "set"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1701,
                            "end": 1714,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 31
                              },
                              "end": {
                                "line": 55,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1701,
                              "end": 1711,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 31
                                },
                                "end": {
                                  "line": 55,
                                  "column": 41
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1712,
                              "end": 1714,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 42
                                },
                                "end": {
                                  "line": 55,
                                  "column": 44
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "computed": false
                          },
                          {
                            "type": "Identifier",
                            "start": 1716,
                            "end": 1725,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 46
                              },
                              "end": {
                                "line": 55,
                                "column": 55
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 1736,
                      "end": 1933,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 1741,
                        "end": 1751,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 13
                          },
                          "end": {
                            "line": 56,
                            "column": 23
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1745,
                            "end": 1751,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 17
                              },
                              "end": {
                                "line": 56,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1745,
                              "end": 1751,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 17
                                },
                                "end": {
                                  "line": 56,
                                  "column": 23
                                },
                                "identifierName": "entity"
                              },
                              "name": "entity"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 1755,
                        "end": 1774,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 27
                          },
                          "end": {
                            "line": 56,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1755,
                          "end": 1765,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 27
                            },
                            "end": {
                              "line": 56,
                              "column": 37
                            },
                            "identifierName": "constraint"
                          },
                          "name": "constraint"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1766,
                          "end": 1774,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 38
                            },
                            "end": {
                              "line": 56,
                              "column": 46
                            },
                            "identifierName": "entities"
                          },
                          "name": "entities"
                        },
                        "computed": false
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 1776,
                        "end": 1933,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 48
                          },
                          "end": {
                            "line": 59,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 1790,
                            "end": 1860,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 82
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 1794,
                              "end": 1824,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 16
                                },
                                "end": {
                                  "line": 57,
                                  "column": 46
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 1795,
                                "end": 1824,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1795,
                                  "end": 1813,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1795,
                                    "end": 1809,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1795,
                                      "end": 1799,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1800,
                                      "end": 1809,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 31
                                        },
                                        "identifierName": "entityFor"
                                      },
                                      "name": "entityFor"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1810,
                                    "end": 1813,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 35
                                      },
                                      "identifierName": "has"
                                    },
                                    "name": "has"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 1814,
                                    "end": 1823,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1814,
                                      "end": 1820,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 42
                                        },
                                        "identifierName": "entity"
                                      },
                                      "name": "entity"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1821,
                                      "end": 1823,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 45
                                        },
                                        "identifierName": "id"
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 1826,
                              "end": 1860,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 48
                                },
                                "end": {
                                  "line": 57,
                                  "column": 82
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 1826,
                                "end": 1859,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 81
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1826,
                                  "end": 1844,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1826,
                                    "end": 1840,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1826,
                                      "end": 1830,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1831,
                                      "end": 1840,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 62
                                        },
                                        "identifierName": "entityFor"
                                      },
                                      "name": "entityFor"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1841,
                                    "end": 1844,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 66
                                      },
                                      "identifierName": "set"
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 1845,
                                    "end": 1854,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 76
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1845,
                                      "end": 1851,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 73
                                        },
                                        "identifierName": "entity"
                                      },
                                      "name": "entity"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1852,
                                      "end": 1854,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 76
                                        },
                                        "identifierName": "id"
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 1856,
                                    "end": 1858,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 80
                                      }
                                    },
                                    "elements": []
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1873,
                            "end": 1923,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 12
                              },
                              "end": {
                                "line": 58,
                                "column": 62
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1873,
                              "end": 1922,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1873,
                                "end": 1907,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 1873,
                                  "end": 1902,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 41
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1873,
                                    "end": 1891,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1873,
                                      "end": 1887,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1873,
                                        "end": 1877,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1878,
                                        "end": 1887,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 26
                                          },
                                          "identifierName": "entityFor"
                                        },
                                        "name": "entityFor"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1888,
                                      "end": 1891,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 30
                                        },
                                        "identifierName": "get"
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 1892,
                                      "end": 1901,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1892,
                                        "end": 1898,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 37
                                          },
                                          "identifierName": "entity"
                                        },
                                        "name": "entity"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1899,
                                        "end": 1901,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 40
                                          },
                                          "identifierName": "id"
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1903,
                                  "end": 1907,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 46
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1908,
                                  "end": 1921,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 60
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1908,
                                    "end": 1918,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 57
                                      },
                                      "identifierName": "constraint"
                                    },
                                    "name": "constraint"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1919,
                                    "end": 1921,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 60
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1942,
                      "end": 1976,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1942,
                        "end": 1975,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1942,
                          "end": 1960,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1942,
                            "end": 1946,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1947,
                            "end": 1960,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 26
                              },
                              "identifierName": "setVisibility"
                            },
                            "name": "setVisibility"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 1961,
                            "end": 1974,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 27
                              },
                              "end": {
                                "line": 60,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1961,
                              "end": 1971,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 27
                                },
                                "end": {
                                  "line": 60,
                                  "column": 37
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1972,
                              "end": 1974,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 38
                                },
                                "end": {
                                  "line": 60,
                                  "column": 40
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1985,
                      "end": 2000,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1985,
                        "end": 1999,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1985,
                          "end": 1997,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1985,
                            "end": 1989,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 8
                              },
                              "end": {
                                "line": 61,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1990,
                            "end": 1997,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 13
                              },
                              "end": {
                                "line": 61,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2012,
                "end": 2542,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 4
                  },
                  "end": {
                    "line": 74,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2012,
                  "end": 2028,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 4
                    },
                    "end": {
                      "line": 64,
                      "column": 20
                    },
                    "identifierName": "removeConstraint"
                  },
                  "name": "removeConstraint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2029,
                    "end": 2039,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 21
                      },
                      "end": {
                        "line": 64,
                        "column": 31
                      },
                      "identifierName": "constraint"
                    },
                    "name": "constraint"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2041,
                    "end": 2065,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 33
                      },
                      "end": {
                        "line": 64,
                        "column": 57
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2041,
                      "end": 2046,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 33
                        },
                        "end": {
                          "line": 64,
                          "column": 38
                        },
                        "identifierName": "state"
                      },
                      "name": "state"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 2049,
                      "end": 2065,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 41
                        },
                        "end": {
                          "line": 64,
                          "column": 57
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2049,
                        "end": 2059,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 41
                          },
                          "end": {
                            "line": 64,
                            "column": 51
                          },
                          "identifierName": "constraint"
                        },
                        "name": "constraint"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2060,
                        "end": 2065,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 52
                          },
                          "end": {
                            "line": 64,
                            "column": 57
                          },
                          "identifierName": "state"
                        },
                        "name": "state"
                      },
                      "computed": false
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2067,
                  "end": 2542,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 59
                    },
                    "end": {
                      "line": 74,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 2077,
                      "end": 2142,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 2081,
                        "end": 2133,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 12
                          },
                          "end": {
                            "line": 65,
                            "column": 64
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 2083,
                          "end": 2132,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 14
                            },
                            "end": {
                              "line": 65,
                              "column": 63
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2083,
                            "end": 2102,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 14
                              },
                              "end": {
                                "line": 65,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2083,
                              "end": 2093,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 14
                                },
                                "end": {
                                  "line": 65,
                                  "column": 24
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2094,
                              "end": 2102,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 25
                                },
                                "end": {
                                  "line": 65,
                                  "column": 33
                                },
                                "identifierName": "graphics"
                              },
                              "name": "graphics"
                            },
                            "computed": false
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "Identifier",
                            "start": 2114,
                            "end": 2132,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 45
                              },
                              "end": {
                                "line": 65,
                                "column": 63
                              },
                              "identifierName": "ConstraintGraphics"
                            },
                            "name": "ConstraintGraphics"
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 2082
                          }
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2135,
                        "end": 2142,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 66
                          },
                          "end": {
                            "line": 65,
                            "column": 73
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 2151,
                      "end": 2414,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 2156,
                        "end": 2171,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 13
                          },
                          "end": {
                            "line": 66,
                            "column": 28
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2160,
                            "end": 2171,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 17
                              },
                              "end": {
                                "line": 66,
                                "column": 28
                              }
                            },
                            "id": {
                              "type": "ObjectPattern",
                              "start": 2160,
                              "end": 2171,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 17
                                },
                                "end": {
                                  "line": 66,
                                  "column": 28
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 2161,
                                  "end": 2170,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 27
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2161,
                                    "end": 2166,
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 23
                                      },
                                      "identifierName": "value"
                                    },
                                    "name": "value"
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "start": 2168,
                                    "end": 2170,
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 27
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  }
                                }
                              ]
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 2175,
                        "end": 2205,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 32
                          },
                          "end": {
                            "line": 66,
                            "column": 62
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2175,
                          "end": 2197,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 32
                            },
                            "end": {
                              "line": 66,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2175,
                            "end": 2188,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 32
                              },
                              "end": {
                                "line": 66,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2175,
                              "end": 2180,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 32
                                },
                                "end": {
                                  "line": 66,
                                  "column": 37
                                },
                                "identifierName": "state"
                              },
                              "name": "state"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2181,
                              "end": 2188,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 38
                                },
                                "end": {
                                  "line": 66,
                                  "column": 45
                                },
                                "identifierName": "members"
                              },
                              "name": "members"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2189,
                            "end": 2197,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 46
                              },
                              "end": {
                                "line": 66,
                                "column": 54
                              },
                              "identifierName": "entities"
                            },
                            "name": "entities"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2198,
                          "end": 2205,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 55
                            },
                            "end": {
                              "line": 66,
                              "column": 62
                            },
                            "identifierName": "members"
                          },
                          "name": "members"
                        },
                        "computed": false
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 2207,
                        "end": 2414,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 64
                          },
                          "end": {
                            "line": 70,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 2221,
                            "end": 2264,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 55
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 2227,
                                "end": 2263,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 54
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 2227,
                                  "end": 2238,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 29
                                    },
                                    "identifierName": "constraints"
                                  },
                                  "name": "constraints"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 2241,
                                  "end": 2263,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 54
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2241,
                                    "end": 2259,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2241,
                                      "end": 2255,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2241,
                                        "end": 2245,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2246,
                                        "end": 2255,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 46
                                          },
                                          "identifierName": "entityFor"
                                        },
                                        "name": "entityFor"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2256,
                                      "end": 2259,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 50
                                        },
                                        "identifierName": "get"
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 2260,
                                      "end": 2262,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 53
                                        },
                                        "identifierName": "id"
                                      },
                                      "name": "id"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "const"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2277,
                            "end": 2335,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 12
                              },
                              "end": {
                                "line": 68,
                                "column": 70
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2277,
                              "end": 2334,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 12
                                },
                                "end": {
                                  "line": 68,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2277,
                                "end": 2295,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2277,
                                  "end": 2288,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 23
                                    },
                                    "identifierName": "constraints"
                                  },
                                  "name": "constraints"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2289,
                                  "end": 2295,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 30
                                    },
                                    "identifierName": "splice"
                                  },
                                  "name": "splice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 2296,
                                  "end": 2330,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 65
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2296,
                                    "end": 2315,
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2296,
                                      "end": 2307,
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 42
                                        },
                                        "identifierName": "constraints"
                                      },
                                      "name": "constraints"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2308,
                                      "end": 2315,
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 50
                                        },
                                        "identifierName": "indexOf"
                                      },
                                      "name": "indexOf"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 2316,
                                      "end": 2329,
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 64
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2316,
                                        "end": 2326,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 61
                                          },
                                          "identifierName": "constraint"
                                        },
                                        "name": "constraint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2327,
                                        "end": 2329,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 64
                                          },
                                          "identifierName": "id"
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                {
                                  "type": "NumericLiteral",
                                  "start": 2332,
                                  "end": 2333,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 68
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                }
                              ]
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 2348,
                            "end": 2404,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 12
                              },
                              "end": {
                                "line": 69,
                                "column": 68
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 2352,
                              "end": 2376,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 16
                                },
                                "end": {
                                  "line": 69,
                                  "column": 40
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 2352,
                                "end": 2370,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2352,
                                  "end": 2363,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 27
                                    },
                                    "identifierName": "constraints"
                                  },
                                  "name": "constraints"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2364,
                                  "end": 2370,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 34
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "operator": "===",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 2375,
                                "end": 2376,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 40
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 2378,
                              "end": 2404,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 42
                                },
                                "end": {
                                  "line": 69,
                                  "column": 68
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 2378,
                                "end": 2403,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 67
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2378,
                                  "end": 2399,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 63
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2378,
                                    "end": 2392,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 56
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 2378,
                                      "end": 2382,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2383,
                                      "end": 2392,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 56
                                        },
                                        "identifierName": "entityFor"
                                      },
                                      "name": "entityFor"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2393,
                                    "end": 2399,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 63
                                      },
                                      "identifierName": "delete"
                                    },
                                    "name": "delete"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 2400,
                                    "end": 2402,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 66
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2423,
                      "end": 2462,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 71,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2423,
                        "end": 2461,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 8
                          },
                          "end": {
                            "line": 71,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2423,
                          "end": 2446,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2423,
                            "end": 2439,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2423,
                              "end": 2427,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2428,
                              "end": 2439,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 13
                                },
                                "end": {
                                  "line": 71,
                                  "column": 24
                                },
                                "identifierName": "constraints"
                              },
                              "name": "constraints"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2440,
                            "end": 2446,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 25
                              },
                              "end": {
                                "line": 71,
                                "column": 31
                              },
                              "identifierName": "delete"
                            },
                            "name": "delete"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2447,
                            "end": 2460,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 32
                              },
                              "end": {
                                "line": 71,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2447,
                              "end": 2457,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 32
                                },
                                "end": {
                                  "line": 71,
                                  "column": 42
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2458,
                              "end": 2460,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 43
                                },
                                "end": {
                                  "line": 71,
                                  "column": 45
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2471,
                      "end": 2512,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2471,
                        "end": 2511,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2471,
                          "end": 2496,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2471,
                            "end": 2489,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2471,
                              "end": 2475,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 72,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2476,
                              "end": 2489,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 13
                                },
                                "end": {
                                  "line": 72,
                                  "column": 26
                                },
                                "identifierName": "baseEntityFor"
                              },
                              "name": "baseEntityFor"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2490,
                            "end": 2496,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 27
                              },
                              "end": {
                                "line": 72,
                                "column": 33
                              },
                              "identifierName": "delete"
                            },
                            "name": "delete"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2497,
                            "end": 2510,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 34
                              },
                              "end": {
                                "line": 72,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2497,
                              "end": 2507,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 34
                                },
                                "end": {
                                  "line": 72,
                                  "column": 44
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2508,
                              "end": 2510,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 45
                                },
                                "end": {
                                  "line": 72,
                                  "column": 47
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2521,
                      "end": 2536,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2521,
                        "end": 2535,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 8
                          },
                          "end": {
                            "line": 73,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2521,
                          "end": 2533,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2521,
                            "end": 2525,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 8
                              },
                              "end": {
                                "line": 73,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2526,
                            "end": 2533,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 13
                              },
                              "end": {
                                "line": 73,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": "note: must be called if constraint has changed",
                    "start": 2548,
                    "end": 2596,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 4
                      },
                      "end": {
                        "line": 76,
                        "column": 52
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2601,
                "end": 2661,
                "loc": {
                  "start": {
                    "line": 77,
                    "column": 4
                  },
                  "end": {
                    "line": 79,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2601,
                  "end": 2617,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 4
                    },
                    "end": {
                      "line": 77,
                      "column": 20
                    },
                    "identifierName": "updateConstraint"
                  },
                  "name": "updateConstraint",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2618,
                    "end": 2628,
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 21
                      },
                      "end": {
                        "line": 77,
                        "column": 31
                      },
                      "identifierName": "constraint"
                    },
                    "name": "constraint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2630,
                  "end": 2661,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 33
                    },
                    "end": {
                      "line": 79,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2640,
                      "end": 2655,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2640,
                        "end": 2654,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2640,
                          "end": 2652,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2640,
                            "end": 2644,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 8
                              },
                              "end": {
                                "line": 78,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2645,
                            "end": 2652,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 13
                              },
                              "end": {
                                "line": 78,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": "note: must be called if constraint has changed",
                    "start": 2548,
                    "end": 2596,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 4
                      },
                      "end": {
                        "line": 76,
                        "column": 52
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": "note: must be called if entity of constraint has changed",
                    "start": 2666,
                    "end": 2724,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 4
                      },
                      "end": {
                        "line": 80,
                        "column": 62
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2729,
                "end": 2833,
                "loc": {
                  "start": {
                    "line": 81,
                    "column": 4
                  },
                  "end": {
                    "line": 84,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2729,
                  "end": 2741,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 16
                    },
                    "identifierName": "updateEntity"
                  },
                  "name": "updateEntity",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2742,
                    "end": 2748,
                    "loc": {
                      "start": {
                        "line": 81,
                        "column": 17
                      },
                      "end": {
                        "line": 81,
                        "column": 23
                      },
                      "identifierName": "entity"
                    },
                    "name": "entity"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2750,
                  "end": 2833,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 25
                    },
                    "end": {
                      "line": 84,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 2760,
                      "end": 2803,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 51
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 2764,
                        "end": 2794,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 12
                          },
                          "end": {
                            "line": 82,
                            "column": 42
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 2765,
                          "end": 2794,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 13
                            },
                            "end": {
                              "line": 82,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2765,
                            "end": 2783,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 13
                              },
                              "end": {
                                "line": 82,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2765,
                              "end": 2779,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 13
                                },
                                "end": {
                                  "line": 82,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2765,
                                "end": 2769,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 17
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2770,
                                "end": 2779,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 27
                                  },
                                  "identifierName": "entityFor"
                                },
                                "name": "entityFor"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2780,
                              "end": 2783,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 28
                                },
                                "end": {
                                  "line": 82,
                                  "column": 31
                                },
                                "identifierName": "has"
                              },
                              "name": "has"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2784,
                              "end": 2793,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 32
                                },
                                "end": {
                                  "line": 82,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2784,
                                "end": 2790,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 38
                                  },
                                  "identifierName": "entity"
                                },
                                "name": "entity"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2791,
                                "end": 2793,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 41
                                  },
                                  "identifierName": "id"
                                },
                                "name": "id"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2796,
                        "end": 2803,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 44
                          },
                          "end": {
                            "line": 82,
                            "column": 51
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2812,
                      "end": 2827,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 83,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2812,
                        "end": 2826,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 83,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2812,
                          "end": 2824,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2812,
                            "end": 2816,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 8
                              },
                              "end": {
                                "line": 83,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2817,
                            "end": 2824,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 13
                              },
                              "end": {
                                "line": 83,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": "note: must be called if entity of constraint has changed",
                    "start": 2666,
                    "end": 2724,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 4
                      },
                      "end": {
                        "line": 80,
                        "column": 62
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2839,
                "end": 3225,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 96,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2839,
                  "end": 2844,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 4
                    },
                    "end": {
                      "line": 86,
                      "column": 9
                    },
                    "identifierName": "hover"
                  },
                  "name": "hover"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2845,
                    "end": 2851,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 10
                      },
                      "end": {
                        "line": 86,
                        "column": 16
                      },
                      "identifierName": "entity"
                    },
                    "name": "entity"
                  },
                  {
                    "type": "Identifier",
                    "start": 2853,
                    "end": 2858,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 18
                      },
                      "end": {
                        "line": 86,
                        "column": 23
                      },
                      "identifierName": "first"
                    },
                    "name": "first"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2860,
                  "end": 3225,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 25
                    },
                    "end": {
                      "line": 96,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 2870,
                      "end": 2907,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2874,
                        "end": 2898,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 12
                          },
                          "end": {
                            "line": 87,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2874,
                          "end": 2883,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 12
                            },
                            "end": {
                              "line": 87,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2874,
                            "end": 2878,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 12
                              },
                              "end": {
                                "line": 87,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2879,
                            "end": 2883,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 17
                              },
                              "end": {
                                "line": 87,
                                "column": 21
                              },
                              "identifierName": "mode"
                            },
                            "name": "mode"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 2888,
                          "end": 2898,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 26
                            },
                            "end": {
                              "line": 87,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2888,
                            "end": 2892,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 26
                              },
                              "end": {
                                "line": 87,
                                "column": 30
                              },
                              "identifierName": "Mode"
                            },
                            "name": "Mode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2893,
                            "end": 2898,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 31
                              },
                              "end": {
                                "line": 87,
                                "column": 36
                              },
                              "identifierName": "Hover"
                            },
                            "name": "Hover"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2900,
                        "end": 2907,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 38
                          },
                          "end": {
                            "line": 87,
                            "column": 45
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2916,
                      "end": 2950,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 8
                        },
                        "end": {
                          "line": 88,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 2920,
                        "end": 2941,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 12
                          },
                          "end": {
                            "line": 88,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2920,
                          "end": 2939,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 12
                            },
                            "end": {
                              "line": 88,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2920,
                            "end": 2926,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 12
                              },
                              "end": {
                                "line": 88,
                                "column": 18
                              },
                              "identifierName": "entity"
                            },
                            "name": "entity"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2927,
                            "end": 2939,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 19
                              },
                              "end": {
                                "line": 88,
                                "column": 31
                              },
                              "identifierName": "isConstraint"
                            },
                            "name": "isConstraint"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 2943,
                        "end": 2950,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 35
                          },
                          "end": {
                            "line": 88,
                            "column": 42
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 2959,
                      "end": 2988,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 8
                        },
                        "end": {
                          "line": 89,
                          "column": 37
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 2963,
                        "end": 2968,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 12
                          },
                          "end": {
                            "line": 89,
                            "column": 17
                          },
                          "identifierName": "first"
                        },
                        "name": "first"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2970,
                        "end": 2988,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 19
                          },
                          "end": {
                            "line": 89,
                            "column": 37
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2970,
                          "end": 2987,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 19
                            },
                            "end": {
                              "line": 89,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2970,
                            "end": 2985,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 19
                              },
                              "end": {
                                "line": 89,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2970,
                              "end": 2974,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 19
                                },
                                "end": {
                                  "line": 89,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2975,
                              "end": 2985,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 24
                                },
                                "end": {
                                  "line": 89,
                                  "column": 34
                                },
                                "identifierName": "unhoverAll"
                              },
                              "name": "unhoverAll"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 2997,
                      "end": 3195,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 8
                        },
                        "end": {
                          "line": 94,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 3002,
                        "end": 3008,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 13
                          },
                          "end": {
                            "line": 90,
                            "column": 19
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 3006,
                            "end": 3008,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 17
                              },
                              "end": {
                                "line": 90,
                                "column": 19
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3006,
                              "end": 3008,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 17
                                },
                                "end": {
                                  "line": 90,
                                  "column": 19
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "start": 3012,
                        "end": 3047,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 23
                          },
                          "end": {
                            "line": 90,
                            "column": 58
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 3012,
                          "end": 3041,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 23
                            },
                            "end": {
                              "line": 90,
                              "column": 52
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3012,
                            "end": 3030,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 23
                              },
                              "end": {
                                "line": 90,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3012,
                              "end": 3026,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 23
                                },
                                "end": {
                                  "line": 90,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3012,
                                "end": 3016,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3017,
                                "end": 3026,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 37
                                  },
                                  "identifierName": "entityFor"
                                },
                                "name": "entityFor"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3027,
                              "end": 3030,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 38
                                },
                                "end": {
                                  "line": 90,
                                  "column": 41
                                },
                                "identifierName": "get"
                              },
                              "name": "get"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 3031,
                              "end": 3040,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 42
                                },
                                "end": {
                                  "line": 90,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3031,
                                "end": 3037,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 48
                                  },
                                  "identifierName": "entity"
                                },
                                "name": "entity"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3038,
                                "end": 3040,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 51
                                  },
                                  "identifierName": "id"
                                },
                                "name": "id"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "operator": "||",
                        "right": {
                          "type": "ArrayExpression",
                          "start": 3045,
                          "end": 3047,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 56
                            },
                            "end": {
                              "line": 90,
                              "column": 58
                            }
                          },
                          "elements": []
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 3049,
                        "end": 3195,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 60
                          },
                          "end": {
                            "line": 94,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 3063,
                            "end": 3092,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 12
                              },
                              "end": {
                                "line": 91,
                                "column": 41
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 3063,
                              "end": 3091,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 12
                                },
                                "end": {
                                  "line": 91,
                                  "column": 40
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3063,
                                "end": 3081,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3063,
                                  "end": 3067,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3068,
                                  "end": 3081,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 30
                                    },
                                    "identifierName": "setVisibility"
                                  },
                                  "name": "setVisibility"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3082,
                                  "end": 3084,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 33
                                    },
                                    "identifierName": "id"
                                  },
                                  "name": "id"
                                },
                                {
                                  "type": "BooleanLiteral",
                                  "start": 3086,
                                  "end": 3090,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 39
                                    }
                                  },
                                  "value": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 3105,
                            "end": 3185,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 12
                              },
                              "end": {
                                "line": 93,
                                "column": 54
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 3109,
                              "end": 3129,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 16
                                },
                                "end": {
                                  "line": 92,
                                  "column": 36
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 3110,
                                "end": 3129,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3110,
                                  "end": 3125,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3110,
                                    "end": 3114,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3115,
                                    "end": 3125,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 32
                                      },
                                      "identifierName": "isSelected"
                                    },
                                    "name": "isSelected"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3126,
                                    "end": 3128,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 35
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  }
                                ]
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 3147,
                              "end": 3185,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 16
                                },
                                "end": {
                                  "line": 93,
                                  "column": 54
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 3147,
                                "end": 3184,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 53
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3147,
                                  "end": 3169,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3147,
                                    "end": 3165,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3147,
                                      "end": 3151,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3152,
                                      "end": 3165,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 34
                                        },
                                        "identifierName": "baseEntityFor"
                                      },
                                      "name": "baseEntityFor"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3166,
                                    "end": 3169,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 38
                                      },
                                      "identifierName": "set"
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3170,
                                    "end": 3172,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 41
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 3174,
                                    "end": 3183,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 52
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3174,
                                      "end": 3180,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 49
                                        },
                                        "identifierName": "entity"
                                      },
                                      "name": "entity"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3181,
                                      "end": 3183,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 52
                                        },
                                        "identifierName": "id"
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3204,
                      "end": 3219,
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 8
                        },
                        "end": {
                          "line": 95,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3204,
                        "end": 3218,
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 8
                          },
                          "end": {
                            "line": 95,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3204,
                          "end": 3216,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 8
                            },
                            "end": {
                              "line": 95,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3204,
                            "end": 3208,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 8
                              },
                              "end": {
                                "line": 95,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3209,
                            "end": 3216,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 13
                              },
                              "end": {
                                "line": 95,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 3231,
                "end": 3372,
                "loc": {
                  "start": {
                    "line": 98,
                    "column": 4
                  },
                  "end": {
                    "line": 102,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3231,
                  "end": 3238,
                  "loc": {
                    "start": {
                      "line": 98,
                      "column": 4
                    },
                    "end": {
                      "line": 98,
                      "column": 11
                    },
                    "identifierName": "unhover"
                  },
                  "name": "unhover"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3239,
                    "end": 3245,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 12
                      },
                      "end": {
                        "line": 98,
                        "column": 18
                      },
                      "identifierName": "entity"
                    },
                    "name": "entity"
                  },
                  {
                    "type": "Identifier",
                    "start": 3247,
                    "end": 3252,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 20
                      },
                      "end": {
                        "line": 98,
                        "column": 25
                      },
                      "identifierName": "first"
                    },
                    "name": "first"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3254,
                  "end": 3372,
                  "loc": {
                    "start": {
                      "line": 98,
                      "column": 27
                    },
                    "end": {
                      "line": 102,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3264,
                      "end": 3301,
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 8
                        },
                        "end": {
                          "line": 99,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3268,
                        "end": 3292,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 12
                          },
                          "end": {
                            "line": 99,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3268,
                          "end": 3277,
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 12
                            },
                            "end": {
                              "line": 99,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3268,
                            "end": 3272,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 12
                              },
                              "end": {
                                "line": 99,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3273,
                            "end": 3277,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 17
                              },
                              "end": {
                                "line": 99,
                                "column": 21
                              },
                              "identifierName": "mode"
                            },
                            "name": "mode"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 3282,
                          "end": 3292,
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 26
                            },
                            "end": {
                              "line": 99,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3282,
                            "end": 3286,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 26
                              },
                              "end": {
                                "line": 99,
                                "column": 30
                              },
                              "identifierName": "Mode"
                            },
                            "name": "Mode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3287,
                            "end": 3292,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 31
                              },
                              "end": {
                                "line": 99,
                                "column": 36
                              },
                              "identifierName": "Hover"
                            },
                            "name": "Hover"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 3294,
                        "end": 3301,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 38
                          },
                          "end": {
                            "line": 99,
                            "column": 45
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 3310,
                      "end": 3344,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 8
                        },
                        "end": {
                          "line": 100,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 3314,
                        "end": 3335,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 12
                          },
                          "end": {
                            "line": 100,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3314,
                          "end": 3333,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 12
                            },
                            "end": {
                              "line": 100,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3314,
                            "end": 3320,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 12
                              },
                              "end": {
                                "line": 100,
                                "column": 18
                              },
                              "identifierName": "entity"
                            },
                            "name": "entity"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3321,
                            "end": 3333,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 19
                              },
                              "end": {
                                "line": 100,
                                "column": 31
                              },
                              "identifierName": "isConstraint"
                            },
                            "name": "isConstraint"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 3337,
                        "end": 3344,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 35
                          },
                          "end": {
                            "line": 100,
                            "column": 42
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " do nothing",
                          "start": 3353,
                          "end": 3366,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 8
                            },
                            "end": {
                              "line": 101,
                              "column": 21
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 3378,
                "end": 3559,
                "loc": {
                  "start": {
                    "line": 104,
                    "column": 4
                  },
                  "end": {
                    "line": 109,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3378,
                  "end": 3388,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 4
                    },
                    "end": {
                      "line": 104,
                      "column": 14
                    },
                    "identifierName": "unhoverAll"
                  },
                  "name": "unhoverAll"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3391,
                  "end": 3559,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 17
                    },
                    "end": {
                      "line": 109,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3401,
                      "end": 3438,
                      "loc": {
                        "start": {
                          "line": 105,
                          "column": 8
                        },
                        "end": {
                          "line": 105,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3405,
                        "end": 3429,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 12
                          },
                          "end": {
                            "line": 105,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3405,
                          "end": 3414,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 12
                            },
                            "end": {
                              "line": 105,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3405,
                            "end": 3409,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 12
                              },
                              "end": {
                                "line": 105,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3410,
                            "end": 3414,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 17
                              },
                              "end": {
                                "line": 105,
                                "column": 21
                              },
                              "identifierName": "mode"
                            },
                            "name": "mode"
                          },
                          "computed": false
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 3419,
                          "end": 3429,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 26
                            },
                            "end": {
                              "line": 105,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3419,
                            "end": 3423,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 26
                              },
                              "end": {
                                "line": 105,
                                "column": 30
                              },
                              "identifierName": "Mode"
                            },
                            "name": "Mode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3424,
                            "end": 3429,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 31
                              },
                              "end": {
                                "line": 105,
                                "column": 36
                              },
                              "identifierName": "Hover"
                            },
                            "name": "Hover"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 3431,
                        "end": 3438,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 38
                          },
                          "end": {
                            "line": 105,
                            "column": 45
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 3447,
                      "end": 3529,
                      "loc": {
                        "start": {
                          "line": 106,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 42
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 3452,
                        "end": 3458,
                        "loc": {
                          "start": {
                            "line": 106,
                            "column": 13
                          },
                          "end": {
                            "line": 106,
                            "column": 19
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 3456,
                            "end": 3458,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 17
                              },
                              "end": {
                                "line": 106,
                                "column": 19
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3456,
                              "end": 3458,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 17
                                },
                                "end": {
                                  "line": 106,
                                  "column": 19
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 3462,
                        "end": 3485,
                        "loc": {
                          "start": {
                            "line": 106,
                            "column": 23
                          },
                          "end": {
                            "line": 106,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3462,
                          "end": 3483,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 23
                            },
                            "end": {
                              "line": 106,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3462,
                            "end": 3478,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 23
                              },
                              "end": {
                                "line": 106,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3462,
                              "end": 3466,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 23
                                },
                                "end": {
                                  "line": 106,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3467,
                              "end": 3478,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 28
                                },
                                "end": {
                                  "line": 106,
                                  "column": 39
                                },
                                "identifierName": "constraints"
                              },
                              "name": "constraints"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3479,
                            "end": 3483,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 40
                              },
                              "end": {
                                "line": 106,
                                "column": 44
                              },
                              "identifierName": "keys"
                            },
                            "name": "keys"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 3499,
                        "end": 3529,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 12
                          },
                          "end": {
                            "line": 107,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 3499,
                          "end": 3528,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 12
                            },
                            "end": {
                              "line": 107,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3499,
                            "end": 3517,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 12
                              },
                              "end": {
                                "line": 107,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3499,
                              "end": 3503,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 12
                                },
                                "end": {
                                  "line": 107,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3504,
                              "end": 3517,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 17
                                },
                                "end": {
                                  "line": 107,
                                  "column": 30
                                },
                                "identifierName": "setVisibility"
                              },
                              "name": "setVisibility"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3518,
                              "end": 3520,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 31
                                },
                                "end": {
                                  "line": 107,
                                  "column": 33
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            {
                              "type": "BooleanLiteral",
                              "start": 3522,
                              "end": 3527,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 35
                                },
                                "end": {
                                  "line": 107,
                                  "column": 40
                                }
                              },
                              "value": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3538,
                      "end": 3553,
                      "loc": {
                        "start": {
                          "line": 108,
                          "column": 8
                        },
                        "end": {
                          "line": 108,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3538,
                        "end": 3552,
                        "loc": {
                          "start": {
                            "line": 108,
                            "column": 8
                          },
                          "end": {
                            "line": 108,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3538,
                          "end": 3550,
                          "loc": {
                            "start": {
                              "line": 108,
                              "column": 8
                            },
                            "end": {
                              "line": 108,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3538,
                            "end": 3542,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 8
                              },
                              "end": {
                                "line": 108,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3543,
                            "end": 3550,
                            "loc": {
                              "start": {
                                "line": 108,
                                "column": 13
                              },
                              "end": {
                                "line": 108,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": "called when constraint visualizer mode changes + on init",
                    "start": 3565,
                    "end": 3623,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 4
                      },
                      "end": {
                        "line": 111,
                        "column": 62
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3628,
                "end": 3797,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 117,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3628,
                  "end": 3637,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 4
                    },
                    "end": {
                      "line": 112,
                      "column": 13
                    },
                    "identifierName": "updateAll"
                  },
                  "name": "updateAll",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 3638,
                    "end": 3654,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 14
                      },
                      "end": {
                        "line": 112,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 3638,
                      "end": 3642,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 14
                        },
                        "end": {
                          "line": 112,
                          "column": 18
                        },
                        "identifierName": "mode"
                      },
                      "name": "mode"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 3645,
                      "end": 3654,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 21
                        },
                        "end": {
                          "line": 112,
                          "column": 30
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 3645,
                        "end": 3649,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 21
                          },
                          "end": {
                            "line": 112,
                            "column": 25
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3650,
                        "end": 3654,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 26
                          },
                          "end": {
                            "line": 112,
                            "column": 30
                          },
                          "identifierName": "mode"
                        },
                        "name": "mode"
                      },
                      "computed": false
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3656,
                  "end": 3797,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 32
                    },
                    "end": {
                      "line": 117,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3666,
                      "end": 3683,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 8
                        },
                        "end": {
                          "line": 113,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3666,
                        "end": 3682,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 8
                          },
                          "end": {
                            "line": 113,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3666,
                          "end": 3675,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 8
                            },
                            "end": {
                              "line": 113,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3666,
                            "end": 3670,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 8
                              },
                              "end": {
                                "line": 113,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3671,
                            "end": 3675,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 13
                              },
                              "end": {
                                "line": 113,
                                "column": 17
                              },
                              "identifierName": "mode"
                            },
                            "name": "mode"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 3678,
                          "end": 3682,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 20
                            },
                            "end": {
                              "line": 113,
                              "column": 24
                            },
                            "identifierName": "mode"
                          },
                          "name": "mode"
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 3692,
                      "end": 3767,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 115,
                          "column": 35
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 3697,
                        "end": 3703,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 13
                          },
                          "end": {
                            "line": 114,
                            "column": 19
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 3701,
                            "end": 3703,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 17
                              },
                              "end": {
                                "line": 114,
                                "column": 19
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 3701,
                              "end": 3703,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 17
                                },
                                "end": {
                                  "line": 114,
                                  "column": 19
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 3707,
                        "end": 3730,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 23
                          },
                          "end": {
                            "line": 114,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3707,
                          "end": 3728,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 23
                            },
                            "end": {
                              "line": 114,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3707,
                            "end": 3723,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 23
                              },
                              "end": {
                                "line": 114,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3707,
                              "end": 3711,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 23
                                },
                                "end": {
                                  "line": 114,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3712,
                              "end": 3723,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 28
                                },
                                "end": {
                                  "line": 114,
                                  "column": 39
                                },
                                "identifierName": "constraints"
                              },
                              "name": "constraints"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3724,
                            "end": 3728,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 40
                              },
                              "end": {
                                "line": 114,
                                "column": 44
                              },
                              "identifierName": "keys"
                            },
                            "name": "keys"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 3744,
                        "end": 3767,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 12
                          },
                          "end": {
                            "line": 115,
                            "column": 35
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 3744,
                          "end": 3766,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 12
                            },
                            "end": {
                              "line": 115,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3744,
                            "end": 3762,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 12
                              },
                              "end": {
                                "line": 115,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3744,
                              "end": 3748,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 12
                                },
                                "end": {
                                  "line": 115,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3749,
                              "end": 3762,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 17
                                },
                                "end": {
                                  "line": 115,
                                  "column": 30
                                },
                                "identifierName": "setVisibility"
                              },
                              "name": "setVisibility"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3763,
                              "end": 3765,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 31
                                },
                                "end": {
                                  "line": 115,
                                  "column": 33
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3776,
                      "end": 3791,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 8
                        },
                        "end": {
                          "line": 116,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3776,
                        "end": 3790,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 8
                          },
                          "end": {
                            "line": 116,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3776,
                          "end": 3788,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 8
                            },
                            "end": {
                              "line": 116,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3776,
                            "end": 3780,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 8
                              },
                              "end": {
                                "line": 116,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3781,
                            "end": 3788,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 13
                              },
                              "end": {
                                "line": 116,
                                "column": 20
                              },
                              "identifierName": "refresh"
                            },
                            "name": "refresh"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": "called when constraint visualizer mode changes + on init",
                    "start": 3565,
                    "end": 3623,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 4
                      },
                      "end": {
                        "line": 111,
                        "column": 62
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": "note: called before each frame is rendered",
                    "start": 3803,
                    "end": 3847,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 4
                      },
                      "end": {
                        "line": 119,
                        "column": 48
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "sets proper positions for all constraint graphics",
                    "start": 3852,
                    "end": 3903,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 4
                      },
                      "end": {
                        "line": 120,
                        "column": 55
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3908,
                "end": 8782,
                "loc": {
                  "start": {
                    "line": 121,
                    "column": 4
                  },
                  "end": {
                    "line": 229,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3908,
                  "end": 3914,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 4
                    },
                    "end": {
                      "line": 121,
                      "column": 10
                    },
                    "identifierName": "render"
                  },
                  "name": "render",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3917,
                  "end": 8782,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 13
                    },
                    "end": {
                      "line": 229,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3927,
                      "end": 3971,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 3931,
                        "end": 3950,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 12
                          },
                          "end": {
                            "line": 122,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 3932,
                          "end": 3950,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 13
                            },
                            "end": {
                              "line": 122,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3932,
                            "end": 3936,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 13
                              },
                              "end": {
                                "line": 122,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3937,
                            "end": 3950,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 18
                              },
                              "end": {
                                "line": 122,
                                "column": 31
                              },
                              "identifierName": "graphicsDirty"
                            },
                            "name": "graphicsDirty"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 3964,
                        "end": 3971,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 12
                          },
                          "end": {
                            "line": 123,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3980,
                      "end": 4007,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3980,
                        "end": 4006,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 8
                          },
                          "end": {
                            "line": 124,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3980,
                          "end": 3998,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 8
                            },
                            "end": {
                              "line": 124,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3980,
                            "end": 3984,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 8
                              },
                              "end": {
                                "line": 124,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3985,
                            "end": 3998,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 13
                              },
                              "end": {
                                "line": 124,
                                "column": 26
                              },
                              "identifierName": "graphicsDirty"
                            },
                            "name": "graphicsDirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 4001,
                          "end": 4006,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 29
                            },
                            "end": {
                              "line": 124,
                              "column": 34
                            }
                          },
                          "value": false
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4016,
                      "end": 4064,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 8
                        },
                        "end": {
                          "line": 125,
                          "column": 56
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4022,
                          "end": 4063,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 14
                            },
                            "end": {
                              "line": 125,
                              "column": 55
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4022,
                            "end": 4030,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 14
                              },
                              "end": {
                                "line": 125,
                                "column": 22
                              },
                              "identifierName": "iconSize"
                            },
                            "name": "iconSize"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 4033,
                            "end": 4063,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 25
                              },
                              "end": {
                                "line": 125,
                                "column": 55
                              }
                            },
                            "left": {
                              "type": "NumericLiteral",
                              "start": 4033,
                              "end": 4034,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 25
                                },
                                "end": {
                                  "line": 125,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": 3,
                                "raw": "3"
                              },
                              "value": 3
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 4037,
                              "end": 4063,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 29
                                },
                                "end": {
                                  "line": 125,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 4037,
                                "end": 4050,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4037,
                                  "end": 4041,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 33
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4042,
                                  "end": 4050,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 42
                                    },
                                    "identifierName": "sketcher"
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4051,
                                "end": 4063,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 55
                                  },
                                  "identifierName": "graphicScale"
                                },
                                "name": "graphicScale"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "kind": "const",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "determine for each base entity the array of all constraints drawn near it",
                          "start": 4074,
                          "end": 4149,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 83
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4158,
                      "end": 4189,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 39
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4162,
                          "end": 4188,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 12
                            },
                            "end": {
                              "line": 128,
                              "column": 38
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4162,
                            "end": 4176,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 12
                              },
                              "end": {
                                "line": 128,
                                "column": 26
                              },
                              "identifierName": "perEntityLists"
                            },
                            "name": "perEntityLists",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 4179,
                            "end": 4188,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 29
                              },
                              "end": {
                                "line": 128,
                                "column": 38
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4183,
                              "end": 4186,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 33
                                },
                                "end": {
                                  "line": 128,
                                  "column": 36
                                },
                                "identifierName": "Map"
                              },
                              "name": "Map"
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "determine for each base entity the array of all constraints drawn near it",
                          "start": 4074,
                          "end": 4149,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 83
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 4198,
                      "end": 4578,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 4203,
                        "end": 4212,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 13
                          },
                          "end": {
                            "line": 129,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 4207,
                            "end": 4212,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 17
                              },
                              "end": {
                                "line": 129,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 4207,
                              "end": 4212,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 17
                                },
                                "end": {
                                  "line": 129,
                                  "column": 22
                                },
                                "identifierName": "conId"
                              },
                              "name": "conId"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 4216,
                        "end": 4239,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 26
                          },
                          "end": {
                            "line": 129,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4216,
                          "end": 4237,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 26
                            },
                            "end": {
                              "line": 129,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4216,
                            "end": 4232,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 26
                              },
                              "end": {
                                "line": 129,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4216,
                              "end": 4220,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 26
                                },
                                "end": {
                                  "line": 129,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4221,
                              "end": 4232,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 31
                                },
                                "end": {
                                  "line": 129,
                                  "column": 42
                                },
                                "identifierName": "constraints"
                              },
                              "name": "constraints"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4233,
                            "end": 4237,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 43
                              },
                              "end": {
                                "line": 129,
                                "column": 47
                              },
                              "identifierName": "keys"
                            },
                            "name": "keys"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 4241,
                        "end": 4578,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 51
                          },
                          "end": {
                            "line": 138,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4255,
                            "end": 4300,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 57
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4259,
                                "end": 4299,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 56
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4259,
                                  "end": 4265,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 22
                                    },
                                    "identifierName": "constr"
                                  },
                                  "name": "constr"
                                },
                                "init": {
                                  "type": "NewExpression",
                                  "start": 4268,
                                  "end": 4299,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 56
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 4272,
                                    "end": 4277,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 34
                                      },
                                      "identifierName": "Ccref"
                                    },
                                    "name": "Ccref"
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 4278,
                                      "end": 4291,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4278,
                                        "end": 4282,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4283,
                                        "end": 4291,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 48
                                          },
                                          "identifierName": "sketcher"
                                        },
                                        "name": "sketcher"
                                      },
                                      "computed": false
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4293,
                                      "end": 4298,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 55
                                        },
                                        "identifierName": "conId"
                                      },
                                      "name": "conId"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 4313,
                            "end": 4368,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 12
                              },
                              "end": {
                                "line": 132,
                                "column": 25
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 4317,
                              "end": 4341,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 16
                                },
                                "end": {
                                  "line": 131,
                                  "column": 40
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 4318,
                                "end": 4341,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4318,
                                  "end": 4333,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4318,
                                    "end": 4324,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 23
                                      },
                                      "identifierName": "constr"
                                    },
                                    "name": "constr"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4325,
                                    "end": 4333,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 32
                                      },
                                      "identifierName": "graphics"
                                    },
                                    "name": "graphics"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4334,
                                  "end": 4341,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 40
                                    },
                                    "identifierName": "visible"
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "consequent": {
                              "type": "ContinueStatement",
                              "start": 4359,
                              "end": 4368,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 16
                                },
                                "end": {
                                  "line": 132,
                                  "column": 25
                                }
                              },
                              "label": null
                            },
                            "alternate": null
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 4382,
                            "end": 4423,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 12
                              },
                              "end": {
                                "line": 134,
                                "column": 53
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4386,
                                "end": 4422,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 52
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4386,
                                  "end": 4392,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 22
                                    },
                                    "identifierName": "baseId"
                                  },
                                  "name": "baseId"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 4395,
                                  "end": 4422,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 52
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4395,
                                    "end": 4415,
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4395,
                                      "end": 4399,
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4400,
                                      "end": 4415,
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 45
                                        },
                                        "identifierName": "getBaseEntityId"
                                      },
                                      "name": "getBaseEntityId"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4416,
                                      "end": 4421,
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 51
                                        },
                                        "identifierName": "conId"
                                      },
                                      "name": "conId"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 4436,
                            "end": 4516,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 12
                              },
                              "end": {
                                "line": 136,
                                "column": 47
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 4440,
                              "end": 4467,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 16
                                },
                                "end": {
                                  "line": 135,
                                  "column": 43
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 4441,
                                "end": 4467,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4441,
                                  "end": 4459,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4441,
                                    "end": 4455,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 31
                                      },
                                      "identifierName": "perEntityLists"
                                    },
                                    "name": "perEntityLists"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4456,
                                    "end": 4459,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 35
                                      },
                                      "identifierName": "has"
                                    },
                                    "name": "has"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 4460,
                                    "end": 4466,
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 42
                                      },
                                      "identifierName": "baseId"
                                    },
                                    "name": "baseId"
                                  }
                                ]
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 4485,
                              "end": 4516,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 16
                                },
                                "end": {
                                  "line": 136,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 4485,
                                "end": 4515,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4485,
                                  "end": 4503,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4485,
                                    "end": 4499,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 30
                                      },
                                      "identifierName": "perEntityLists"
                                    },
                                    "name": "perEntityLists"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4500,
                                    "end": 4503,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 34
                                      },
                                      "identifierName": "set"
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 4504,
                                    "end": 4510,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 41
                                      },
                                      "identifierName": "baseId"
                                    },
                                    "name": "baseId"
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 4512,
                                    "end": 4514,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 45
                                      }
                                    },
                                    "elements": []
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4529,
                            "end": 4568,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 12
                              },
                              "end": {
                                "line": 137,
                                "column": 51
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 4529,
                              "end": 4567,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 12
                                },
                                "end": {
                                  "line": 137,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4529,
                                "end": 4560,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 4529,
                                  "end": 4555,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 38
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4529,
                                    "end": 4547,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4529,
                                      "end": 4543,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 26
                                        },
                                        "identifierName": "perEntityLists"
                                      },
                                      "name": "perEntityLists"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4544,
                                      "end": 4547,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 30
                                        },
                                        "identifierName": "get"
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4548,
                                      "end": 4554,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 37
                                        },
                                        "identifierName": "baseId"
                                      },
                                      "name": "baseId"
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4556,
                                  "end": 4560,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 43
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 4561,
                                  "end": 4566,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 49
                                    },
                                    "identifierName": "conId"
                                  },
                                  "name": "conId"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 4587,
                      "end": 4637,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 140,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4591,
                        "end": 4616,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 12
                          },
                          "end": {
                            "line": 139,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4591,
                          "end": 4610,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 12
                            },
                            "end": {
                              "line": 139,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4591,
                            "end": 4605,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 12
                              },
                              "end": {
                                "line": 139,
                                "column": 26
                              },
                              "identifierName": "perEntityLists"
                            },
                            "name": "perEntityLists"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4606,
                            "end": 4610,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 27
                              },
                              "end": {
                                "line": 139,
                                "column": 31
                              },
                              "identifierName": "size"
                            },
                            "name": "size"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 4615,
                          "end": 4616,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 36
                            },
                            "end": {
                              "line": 139,
                              "column": 37
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 4630,
                        "end": 4637,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 12
                          },
                          "end": {
                            "line": 140,
                            "column": 19
                          }
                        },
                        "argument": null,
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create rectangle filled with constraints icons for each base entity",
                          "start": 4647,
                          "end": 4716,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 77
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4725,
                      "end": 4950,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 149,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4729,
                          "end": 4949,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 12
                            },
                            "end": {
                              "line": 149,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4729,
                            "end": 4739,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 12
                              },
                              "end": {
                                "line": 143,
                                "column": 22
                              },
                              "identifierName": "rectangles"
                            },
                            "name": "rectangles",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 4742,
                            "end": 4949,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 25
                              },
                              "end": {
                                "line": 149,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4742,
                              "end": 4779,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 25
                                },
                                "end": {
                                  "line": 143,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 4742,
                                "end": 4775,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 58
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4742,
                                  "end": 4752,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4742,
                                    "end": 4747,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 30
                                      },
                                      "identifierName": "Array"
                                    },
                                    "name": "Array"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4748,
                                    "end": 4752,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 35
                                      },
                                      "identifierName": "from"
                                    },
                                    "name": "from"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 4753,
                                    "end": 4774,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 57
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4753,
                                      "end": 4772,
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4753,
                                        "end": 4767,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 50
                                          },
                                          "identifierName": "perEntityLists"
                                        },
                                        "name": "perEntityLists"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4768,
                                        "end": 4772,
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 55
                                          },
                                          "identifierName": "keys"
                                        },
                                        "name": "keys"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4776,
                                "end": 4779,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 62
                                  },
                                  "identifierName": "map"
                                },
                                "name": "map"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 4780,
                                "end": 4948,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 4780,
                                    "end": 4782,
                                    "loc": {
                                      "start": {
                                        "line": 143,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 143,
                                        "column": 65
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4786,
                                  "end": 4948,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "start": 4800,
                                      "end": 4938,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 148,
                                          "column": 14
                                        }
                                      },
                                      "argument": {
                                        "type": "ObjectExpression",
                                        "start": 4807,
                                        "end": 4937,
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 13
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "ObjectProperty",
                                            "start": 4823,
                                            "end": 4825,
                                            "loc": {
                                              "start": {
                                                "line": 145,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 145,
                                                "column": 16
                                              }
                                            },
                                            "method": false,
                                            "shorthand": true,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 4823,
                                              "end": 4825,
                                              "loc": {
                                                "start": {
                                                  "line": 145,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 145,
                                                  "column": 16
                                                },
                                                "identifierName": "id"
                                              },
                                              "name": "id"
                                            },
                                            "value": {
                                              "type": "Identifier",
                                              "start": 4823,
                                              "end": 4825,
                                              "loc": {
                                                "start": {
                                                  "line": 145,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 145,
                                                  "column": 16
                                                },
                                                "identifierName": "id"
                                              },
                                              "name": "id"
                                            },
                                            "extra": {
                                              "shorthand": true
                                            }
                                          },
                                          {
                                            "type": "ObjectProperty",
                                            "start": 4841,
                                            "end": 4872,
                                            "loc": {
                                              "start": {
                                                "line": 146,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 146,
                                                "column": 45
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 4841,
                                              "end": 4847,
                                              "loc": {
                                                "start": {
                                                  "line": 146,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 146,
                                                  "column": 20
                                                },
                                                "identifierName": "keyPos"
                                              },
                                              "name": "keyPos"
                                            },
                                            "value": {
                                              "type": "CallExpression",
                                              "start": 4849,
                                              "end": 4872,
                                              "loc": {
                                                "start": {
                                                  "line": 146,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 146,
                                                  "column": 45
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4849,
                                                "end": 4868,
                                                "loc": {
                                                  "start": {
                                                    "line": 146,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 146,
                                                    "column": 41
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4849,
                                                  "end": 4853,
                                                  "loc": {
                                                    "start": {
                                                      "line": 146,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 146,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4854,
                                                  "end": 4868,
                                                  "loc": {
                                                    "start": {
                                                      "line": 146,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 146,
                                                      "column": 41
                                                    },
                                                    "identifierName": "getKeyPosition"
                                                  },
                                                  "name": "getKeyPosition"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4869,
                                                  "end": 4871,
                                                  "loc": {
                                                    "start": {
                                                      "line": 146,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 146,
                                                      "column": 44
                                                    },
                                                    "identifierName": "id"
                                                  },
                                                  "name": "id"
                                                }
                                              ]
                                            }
                                          },
                                          {
                                            "type": "ObjectProperty",
                                            "start": 4888,
                                            "end": 4922,
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 14
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 48
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 4888,
                                              "end": 4891,
                                              "loc": {
                                                "start": {
                                                  "line": 147,
                                                  "column": 14
                                                },
                                                "end": {
                                                  "line": 147,
                                                  "column": 17
                                                },
                                                "identifierName": "cnt"
                                              },
                                              "name": "cnt"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 4893,
                                              "end": 4922,
                                              "loc": {
                                                "start": {
                                                  "line": 147,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 147,
                                                  "column": 48
                                                }
                                              },
                                              "object": {
                                                "type": "CallExpression",
                                                "start": 4893,
                                                "end": 4915,
                                                "loc": {
                                                  "start": {
                                                    "line": 147,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 147,
                                                    "column": 41
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 4893,
                                                  "end": 4911,
                                                  "loc": {
                                                    "start": {
                                                      "line": 147,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 147,
                                                      "column": 37
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4893,
                                                    "end": 4907,
                                                    "loc": {
                                                      "start": {
                                                        "line": 147,
                                                        "column": 19
                                                      },
                                                      "end": {
                                                        "line": 147,
                                                        "column": 33
                                                      },
                                                      "identifierName": "perEntityLists"
                                                    },
                                                    "name": "perEntityLists"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4908,
                                                    "end": 4911,
                                                    "loc": {
                                                      "start": {
                                                        "line": 147,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 147,
                                                        "column": 37
                                                      },
                                                      "identifierName": "get"
                                                    },
                                                    "name": "get"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4912,
                                                    "end": 4914,
                                                    "loc": {
                                                      "start": {
                                                        "line": 147,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 147,
                                                        "column": 40
                                                      },
                                                      "identifierName": "id"
                                                    },
                                                    "name": "id"
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4916,
                                                "end": 4922,
                                                "loc": {
                                                  "start": {
                                                    "line": 147,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 147,
                                                    "column": 48
                                                  },
                                                  "identifierName": "length"
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                }
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "create rectangle filled with constraints icons for each base entity",
                          "start": 4647,
                          "end": 4716,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 77
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "sort base entities (for stability)",
                          "start": 4959,
                          "end": 4995,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 8
                            },
                            "end": {
                              "line": 150,
                              "column": 44
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5004,
                      "end": 5075,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 8
                        },
                        "end": {
                          "line": 153,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5004,
                        "end": 5074,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 8
                          },
                          "end": {
                            "line": 153,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5004,
                          "end": 5019,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 8
                            },
                            "end": {
                              "line": 151,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5004,
                            "end": 5014,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 8
                              },
                              "end": {
                                "line": 151,
                                "column": 18
                              },
                              "identifierName": "rectangles"
                            },
                            "name": "rectangles",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5015,
                            "end": 5019,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 19
                              },
                              "end": {
                                "line": 151,
                                "column": 23
                              },
                              "identifierName": "sort"
                            },
                            "name": "sort"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 5020,
                            "end": 5073,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 24
                              },
                              "end": {
                                "line": 153,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 5021,
                                "end": 5022,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 26
                                  },
                                  "identifierName": "a"
                                },
                                "name": "a"
                              },
                              {
                                "type": "Identifier",
                                "start": 5024,
                                "end": 5025,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 29
                                  },
                                  "identifierName": "b"
                                },
                                "name": "b"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 5030,
                              "end": 5073,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 34
                                },
                                "end": {
                                  "line": 153,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 5044,
                                  "end": 5063,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 31
                                    }
                                  },
                                  "argument": {
                                    "type": "BinaryExpression",
                                    "start": 5051,
                                    "end": 5062,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 30
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 5051,
                                      "end": 5055,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 23
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5051,
                                        "end": 5052,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 20
                                          },
                                          "identifierName": "a"
                                        },
                                        "name": "a"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5053,
                                        "end": 5055,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 23
                                          },
                                          "identifierName": "id"
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 5058,
                                      "end": 5062,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5058,
                                        "end": 5059,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 27
                                          },
                                          "identifierName": "b"
                                        },
                                        "name": "b"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5060,
                                        "end": 5062,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 30
                                          },
                                          "identifierName": "id"
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "sort base entities (for stability)",
                          "start": 4959,
                          "end": 4995,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 8
                            },
                            "end": {
                              "line": 150,
                              "column": 44
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "minimal distance between rectangles (in iconSize units)",
                          "start": 5085,
                          "end": 5142,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 65
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5151,
                      "end": 5170,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 27
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5157,
                          "end": 5169,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 14
                            },
                            "end": {
                              "line": 156,
                              "column": 26
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5157,
                            "end": 5163,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 14
                              },
                              "end": {
                                "line": 156,
                                "column": 20
                              },
                              "identifierName": "colEps"
                            },
                            "name": "colEps",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NumericLiteral",
                            "start": 5166,
                            "end": 5169,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 23
                              },
                              "end": {
                                "line": 156,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": 0.5,
                              "raw": "0.5"
                            },
                            "value": 0.5
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "const",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "minimal distance between rectangles (in iconSize units)",
                          "start": 5085,
                          "end": 5142,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 65
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "minimal vertical distance from key position to rectangle's center (in iconSize units)",
                          "start": 5179,
                          "end": 5266,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 95
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5275,
                      "end": 5299,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5281,
                          "end": 5298,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 14
                            },
                            "end": {
                              "line": 158,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5281,
                            "end": 5291,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 14
                              },
                              "end": {
                                "line": 158,
                                "column": 24
                              },
                              "identifierName": "minOffsetH"
                            },
                            "name": "minOffsetH",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NumericLiteral",
                            "start": 5294,
                            "end": 5298,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 27
                              },
                              "end": {
                                "line": 158,
                                "column": 31
                              }
                            },
                            "extra": {
                              "rawValue": 0.75,
                              "raw": "0.75"
                            },
                            "value": 0.75
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "const",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "minimal vertical distance from key position to rectangle's center (in iconSize units)",
                          "start": 5179,
                          "end": 5266,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 95
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "set positions for all entity lists (each one is rectangle)",
                          "start": 5309,
                          "end": 5369,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 8
                            },
                            "end": {
                              "line": 160,
                              "column": 68
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 5378,
                      "end": 8103,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 213,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 5383,
                        "end": 5392,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 13
                          },
                          "end": {
                            "line": 161,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 5387,
                            "end": 5392,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 17
                              },
                              "end": {
                                "line": 161,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 5387,
                              "end": 5388,
                              "loc": {
                                "start": {
                                  "line": 161,
                                  "column": 17
                                },
                                "end": {
                                  "line": 161,
                                  "column": 18
                                },
                                "identifierName": "i"
                              },
                              "name": "i",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 5391,
                              "end": 5392,
                              "loc": {
                                "start": {
                                  "line": 161,
                                  "column": 21
                                },
                                "end": {
                                  "line": 161,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            },
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5394,
                        "end": 5415,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 24
                          },
                          "end": {
                            "line": 161,
                            "column": 45
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 5394,
                          "end": 5395,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 24
                            },
                            "end": {
                              "line": 161,
                              "column": 25
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 5398,
                          "end": 5415,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 28
                            },
                            "end": {
                              "line": 161,
                              "column": 45
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5398,
                            "end": 5408,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 28
                              },
                              "end": {
                                "line": 161,
                                "column": 38
                              },
                              "identifierName": "rectangles"
                            },
                            "name": "rectangles"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5409,
                            "end": 5415,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 39
                              },
                              "end": {
                                "line": 161,
                                "column": 45
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 5417,
                        "end": 5420,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 47
                          },
                          "end": {
                            "line": 161,
                            "column": 50
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 5417,
                          "end": 5418,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 47
                            },
                            "end": {
                              "line": 161,
                              "column": 48
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 5422,
                        "end": 8103,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 52
                          },
                          "end": {
                            "line": 213,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 5436,
                            "end": 5464,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 12
                              },
                              "end": {
                                "line": 162,
                                "column": 40
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 5440,
                                "end": 5463,
                                "loc": {
                                  "start": {
                                    "line": 162,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 162,
                                    "column": 39
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 5440,
                                  "end": 5447,
                                  "loc": {
                                    "start": {
                                      "line": 162,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 162,
                                      "column": 23
                                    },
                                    "identifierName": "newRect"
                                  },
                                  "name": "newRect"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 5450,
                                  "end": 5463,
                                  "loc": {
                                    "start": {
                                      "line": 162,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 162,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5450,
                                    "end": 5460,
                                    "loc": {
                                      "start": {
                                        "line": 162,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 162,
                                        "column": 36
                                      },
                                      "identifierName": "rectangles"
                                    },
                                    "name": "rectangles"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5461,
                                    "end": 5462,
                                    "loc": {
                                      "start": {
                                        "line": 162,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 162,
                                        "column": 38
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "let",
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": "position of rectangle center, which is closest to key point",
                                "start": 5478,
                                "end": 5539,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 73
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 5552,
                            "end": 5576,
                            "loc": {
                              "start": {
                                "line": 165,
                                "column": 12
                              },
                              "end": {
                                "line": 165,
                                "column": 36
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 5556,
                                "end": 5575,
                                "loc": {
                                  "start": {
                                    "line": 165,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 165,
                                    "column": 35
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 5556,
                                  "end": 5567,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 27
                                    },
                                    "identifierName": "bestDistSqr"
                                  },
                                  "name": "bestDistSqr",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "NumericLiteral",
                                  "start": 5570,
                                  "end": 5575,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 35
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1e+50,
                                    "raw": "1e+50"
                                  },
                                  "value": 1e+50
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "let",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "position of rectangle center, which is closest to key point",
                                "start": 5478,
                                "end": 5539,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 73
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 5589,
                            "end": 5606,
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 12
                              },
                              "end": {
                                "line": 166,
                                "column": 29
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 5593,
                                "end": 5598,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 21
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 5593,
                                  "end": 5598,
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 21
                                    },
                                    "identifierName": "bestX"
                                  },
                                  "name": "bestX"
                                },
                                "init": null
                              },
                              {
                                "type": "VariableDeclarator",
                                "start": 5600,
                                "end": 5605,
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 28
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 5600,
                                  "end": 5605,
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 28
                                    },
                                    "identifierName": "bestY"
                                  },
                                  "name": "bestY"
                                },
                                "init": null
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "LabeledStatement",
                            "start": 5620,
                            "end": 7955,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 12
                              },
                              "end": {
                                "line": 209,
                                "column": 17
                              }
                            },
                            "body": {
                              "type": "ForStatement",
                              "start": 5652,
                              "end": 7955,
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 12
                                },
                                "end": {
                                  "line": 209,
                                  "column": 17
                                }
                              },
                              "init": {
                                "type": "VariableDeclaration",
                                "start": 5657,
                                "end": 5667,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 27
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 5661,
                                    "end": 5667,
                                    "loc": {
                                      "start": {
                                        "line": 169,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 169,
                                        "column": 27
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 5661,
                                      "end": 5663,
                                      "loc": {
                                        "start": {
                                          "line": 169,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 169,
                                          "column": 23
                                        },
                                        "identifierName": "vk"
                                      },
                                      "name": "vk"
                                    },
                                    "init": {
                                      "type": "NumericLiteral",
                                      "start": 5666,
                                      "end": 5667,
                                      "loc": {
                                        "start": {
                                          "line": 169,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 169,
                                          "column": 27
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    }
                                  }
                                ],
                                "kind": "let"
                              },
                              "test": null,
                              "update": {
                                "type": "UpdateExpression",
                                "start": 5671,
                                "end": 5675,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 35
                                  }
                                },
                                "operator": "++",
                                "prefix": false,
                                "argument": {
                                  "type": "Identifier",
                                  "start": 5671,
                                  "end": 5673,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 33
                                    },
                                    "identifierName": "vk"
                                  },
                                  "name": "vk"
                                }
                              },
                              "body": {
                                "type": "ForStatement",
                                "start": 5693,
                                "end": 7955,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 209,
                                    "column": 17
                                  }
                                },
                                "init": {
                                  "type": "VariableDeclaration",
                                  "start": 5698,
                                  "end": 5708,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 31
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 5702,
                                      "end": 5708,
                                      "loc": {
                                        "start": {
                                          "line": 170,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 170,
                                          "column": 31
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 5702,
                                        "end": 5704,
                                        "loc": {
                                          "start": {
                                            "line": 170,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 170,
                                            "column": 27
                                          },
                                          "identifierName": "vs"
                                        },
                                        "name": "vs"
                                      },
                                      "init": {
                                        "type": "NumericLiteral",
                                        "start": 5707,
                                        "end": 5708,
                                        "loc": {
                                          "start": {
                                            "line": 170,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 170,
                                            "column": 31
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 5710,
                                  "end": 5718,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 5710,
                                    "end": 5712,
                                    "loc": {
                                      "start": {
                                        "line": 170,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 170,
                                        "column": 35
                                      },
                                      "identifierName": "vs"
                                    },
                                    "name": "vs"
                                  },
                                  "operator": ">=",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 5716,
                                    "end": 5718,
                                    "loc": {
                                      "start": {
                                        "line": 170,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 170,
                                        "column": 41
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 5717,
                                      "end": 5718,
                                      "loc": {
                                        "start": {
                                          "line": 170,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 170,
                                          "column": 41
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "value": 1
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "update": {
                                  "type": "AssignmentExpression",
                                  "start": 5720,
                                  "end": 5727,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 50
                                    }
                                  },
                                  "operator": "-=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 5720,
                                    "end": 5722,
                                    "loc": {
                                      "start": {
                                        "line": 170,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 170,
                                        "column": 45
                                      },
                                      "identifierName": "vs"
                                    },
                                    "name": "vs"
                                  },
                                  "right": {
                                    "type": "NumericLiteral",
                                    "start": 5726,
                                    "end": 5727,
                                    "loc": {
                                      "start": {
                                        "line": 170,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 170,
                                        "column": 50
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 2,
                                      "raw": "2"
                                    },
                                    "value": 2
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 5729,
                                  "end": 7955,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 209,
                                      "column": 17
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 5809,
                                      "end": 5886,
                                      "loc": {
                                        "start": {
                                          "line": 172,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 172,
                                          "column": 97
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 5813,
                                          "end": 5885,
                                          "loc": {
                                            "start": {
                                              "line": 172,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 172,
                                              "column": 96
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 5813,
                                            "end": 5815,
                                            "loc": {
                                              "start": {
                                                "line": 172,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 172,
                                                "column": 26
                                              },
                                              "identifierName": "cy"
                                            },
                                            "name": "cy",
                                            "leadingComments": null
                                          },
                                          "init": {
                                            "type": "BinaryExpression",
                                            "start": 5818,
                                            "end": 5885,
                                            "loc": {
                                              "start": {
                                                "line": 172,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 172,
                                                "column": 96
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 5818,
                                              "end": 5834,
                                              "loc": {
                                                "start": {
                                                  "line": 172,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 172,
                                                  "column": 45
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5818,
                                                "end": 5832,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 43
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 5818,
                                                  "end": 5825,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 36
                                                    },
                                                    "identifierName": "newRect"
                                                  },
                                                  "name": "newRect"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5826,
                                                  "end": 5832,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 43
                                                    },
                                                    "identifierName": "keyPos"
                                                  },
                                                  "name": "keyPos"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5833,
                                                "end": 5834,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 45
                                                  },
                                                  "identifierName": "y"
                                                },
                                                "name": "y"
                                              },
                                              "computed": false
                                            },
                                            "operator": "+",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 5837,
                                              "end": 5885,
                                              "loc": {
                                                "start": {
                                                  "line": 172,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 172,
                                                  "column": 96
                                                }
                                              },
                                              "left": {
                                                "type": "BinaryExpression",
                                                "start": 5837,
                                                "end": 5874,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 85
                                                  }
                                                },
                                                "left": {
                                                  "type": "Identifier",
                                                  "start": 5837,
                                                  "end": 5839,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 50
                                                    },
                                                    "identifierName": "vs"
                                                  },
                                                  "name": "vs"
                                                },
                                                "operator": "*",
                                                "right": {
                                                  "type": "BinaryExpression",
                                                  "start": 5843,
                                                  "end": 5873,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 84
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "Identifier",
                                                    "start": 5843,
                                                    "end": 5853,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 64
                                                      },
                                                      "identifierName": "minOffsetH"
                                                    },
                                                    "name": "minOffsetH"
                                                  },
                                                  "operator": "+",
                                                  "right": {
                                                    "type": "BinaryExpression",
                                                    "start": 5856,
                                                    "end": 5873,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 67
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 84
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 5856,
                                                      "end": 5858,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 69
                                                        },
                                                        "identifierName": "vk"
                                                      },
                                                      "name": "vk"
                                                    },
                                                    "operator": "*",
                                                    "right": {
                                                      "type": "BinaryExpression",
                                                      "start": 5862,
                                                      "end": 5872,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 73
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 83
                                                        }
                                                      },
                                                      "left": {
                                                        "type": "NumericLiteral",
                                                        "start": 5862,
                                                        "end": 5863,
                                                        "loc": {
                                                          "start": {
                                                            "line": 172,
                                                            "column": 73
                                                          },
                                                          "end": {
                                                            "line": 172,
                                                            "column": 74
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": 1,
                                                          "raw": "1"
                                                        },
                                                        "value": 1
                                                      },
                                                      "operator": "+",
                                                      "right": {
                                                        "type": "Identifier",
                                                        "start": 5866,
                                                        "end": 5872,
                                                        "loc": {
                                                          "start": {
                                                            "line": 172,
                                                            "column": 77
                                                          },
                                                          "end": {
                                                            "line": 172,
                                                            "column": 83
                                                          },
                                                          "identifierName": "colEps"
                                                        },
                                                        "name": "colEps"
                                                      },
                                                      "extra": {
                                                        "parenthesized": true,
                                                        "parenStart": 5861
                                                      }
                                                    }
                                                  },
                                                  "extra": {
                                                    "parenthesized": true,
                                                    "parenStart": 5842
                                                  }
                                                }
                                              },
                                              "operator": "*",
                                              "right": {
                                                "type": "Identifier",
                                                "start": 5877,
                                                "end": 5885,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 96
                                                  },
                                                  "identifierName": "iconSize"
                                                },
                                                "name": "iconSize"
                                              }
                                            }
                                          },
                                          "leadingComments": null
                                        }
                                      ],
                                      "kind": "let",
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": "try to put into the vertical slice:",
                                          "start": 5751,
                                          "end": 5788,
                                          "loc": {
                                            "start": {
                                              "line": 171,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 171,
                                              "column": 57
                                            }
                                          }
                                        }
                                      ],
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": "loop termination criterion",
                                          "start": 5907,
                                          "end": 5935,
                                          "loc": {
                                            "start": {
                                              "line": 173,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 173,
                                              "column": 48
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 5956,
                                      "end": 6052,
                                      "loc": {
                                        "start": {
                                          "line": 174,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 175,
                                          "column": 49
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 5960,
                                        "end": 6001,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 65
                                          }
                                        },
                                        "left": {
                                          "type": "CallExpression",
                                          "start": 5960,
                                          "end": 5986,
                                          "loc": {
                                            "start": {
                                              "line": 174,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 174,
                                              "column": 50
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 5960,
                                            "end": 5963,
                                            "loc": {
                                              "start": {
                                                "line": 174,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 174,
                                                "column": 27
                                              },
                                              "identifierName": "sqr"
                                            },
                                            "name": "sqr",
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "BinaryExpression",
                                              "start": 5964,
                                              "end": 5985,
                                              "loc": {
                                                "start": {
                                                  "line": 174,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 174,
                                                  "column": 49
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5964,
                                                "end": 5966,
                                                "loc": {
                                                  "start": {
                                                    "line": 174,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 174,
                                                    "column": 30
                                                  },
                                                  "identifierName": "cy"
                                                },
                                                "name": "cy"
                                              },
                                              "operator": "-",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 5969,
                                                "end": 5985,
                                                "loc": {
                                                  "start": {
                                                    "line": 174,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 174,
                                                    "column": 49
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5969,
                                                  "end": 5983,
                                                  "loc": {
                                                    "start": {
                                                      "line": 174,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 174,
                                                      "column": 47
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5969,
                                                    "end": 5976,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 40
                                                      },
                                                      "identifierName": "newRect"
                                                    },
                                                    "name": "newRect"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5977,
                                                    "end": 5983,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 47
                                                      },
                                                      "identifierName": "keyPos"
                                                    },
                                                    "name": "keyPos"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5984,
                                                  "end": 5985,
                                                  "loc": {
                                                    "start": {
                                                      "line": 174,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 174,
                                                      "column": 49
                                                    },
                                                    "identifierName": "y"
                                                  },
                                                  "name": "y"
                                                },
                                                "computed": false
                                              }
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "operator": ">=",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 5990,
                                          "end": 6001,
                                          "loc": {
                                            "start": {
                                              "line": 174,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 174,
                                              "column": 65
                                            },
                                            "identifierName": "bestDistSqr"
                                          },
                                          "name": "bestDistSqr"
                                        },
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "BreakStatement",
                                        "start": 6027,
                                        "end": 6052,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 49
                                          }
                                        },
                                        "label": {
                                          "type": "Identifier",
                                          "start": 6033,
                                          "end": 6051,
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 48
                                            },
                                            "identifierName": "rectanglePlaceLoop"
                                          },
                                          "name": "rectanglePlaceLoop"
                                        },
                                        "trailingComments": null
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": "loop termination criterion",
                                          "start": 5907,
                                          "end": 5935,
                                          "loc": {
                                            "start": {
                                              "line": 173,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 173,
                                              "column": 48
                                            }
                                          }
                                        }
                                      ],
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": "try both direction for horizontal moving",
                                          "start": 6074,
                                          "end": 6116,
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 62
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "ForStatement",
                                      "start": 6137,
                                      "end": 7937,
                                      "loc": {
                                        "start": {
                                          "line": 178,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 21
                                        }
                                      },
                                      "init": {
                                        "type": "VariableDeclaration",
                                        "start": 6142,
                                        "end": 6152,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 35
                                          }
                                        },
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "start": 6146,
                                            "end": 6152,
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 35
                                              }
                                            },
                                            "id": {
                                              "type": "Identifier",
                                              "start": 6146,
                                              "end": 6148,
                                              "loc": {
                                                "start": {
                                                  "line": 178,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 178,
                                                  "column": 31
                                                },
                                                "identifierName": "hs"
                                              },
                                              "name": "hs",
                                              "leadingComments": null
                                            },
                                            "init": {
                                              "type": "NumericLiteral",
                                              "start": 6151,
                                              "end": 6152,
                                              "loc": {
                                                "start": {
                                                  "line": 178,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 178,
                                                  "column": 35
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "value": 1
                                            },
                                            "leadingComments": null
                                          }
                                        ],
                                        "kind": "let",
                                        "leadingComments": null
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 6154,
                                        "end": 6162,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 45
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 6154,
                                          "end": 6156,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 39
                                            },
                                            "identifierName": "hs"
                                          },
                                          "name": "hs"
                                        },
                                        "operator": ">=",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 6160,
                                          "end": 6162,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 45
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "NumericLiteral",
                                            "start": 6161,
                                            "end": 6162,
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 45
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          },
                                          "extra": {
                                            "parenthesizedArgument": false
                                          }
                                        }
                                      },
                                      "update": {
                                        "type": "AssignmentExpression",
                                        "start": 6164,
                                        "end": 6171,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 54
                                          }
                                        },
                                        "operator": "-=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 6164,
                                          "end": 6166,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 49
                                            },
                                            "identifierName": "hs"
                                          },
                                          "name": "hs"
                                        },
                                        "right": {
                                          "type": "NumericLiteral",
                                          "start": 6170,
                                          "end": 6171,
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 54
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "value": 2
                                        }
                                      },
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 6173,
                                        "end": 7937,
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 21
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 6199,
                                            "end": 6225,
                                            "loc": {
                                              "start": {
                                                "line": 179,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 179,
                                                "column": 50
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 6203,
                                                "end": 6224,
                                                "loc": {
                                                  "start": {
                                                    "line": 179,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 179,
                                                    "column": 49
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 6203,
                                                  "end": 6205,
                                                  "loc": {
                                                    "start": {
                                                      "line": 179,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 179,
                                                      "column": 30
                                                    },
                                                    "identifierName": "cx"
                                                  },
                                                  "name": "cx"
                                                },
                                                "init": {
                                                  "type": "MemberExpression",
                                                  "start": 6208,
                                                  "end": 6224,
                                                  "loc": {
                                                    "start": {
                                                      "line": 179,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 179,
                                                      "column": 49
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 6208,
                                                    "end": 6222,
                                                    "loc": {
                                                      "start": {
                                                        "line": 179,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 179,
                                                        "column": 47
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 6208,
                                                      "end": 6215,
                                                      "loc": {
                                                        "start": {
                                                          "line": 179,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 179,
                                                          "column": 40
                                                        },
                                                        "identifierName": "newRect"
                                                      },
                                                      "name": "newRect"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 6216,
                                                      "end": 6222,
                                                      "loc": {
                                                        "start": {
                                                          "line": 179,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 179,
                                                          "column": 47
                                                        },
                                                        "identifierName": "keyPos"
                                                      },
                                                      "name": "keyPos"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 6223,
                                                    "end": 6224,
                                                    "loc": {
                                                      "start": {
                                                        "line": 179,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 179,
                                                        "column": 49
                                                      },
                                                      "identifierName": "x"
                                                    },
                                                    "name": "x"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            ],
                                            "kind": "let"
                                          },
                                          {
                                            "type": "DoWhileStatement",
                                            "start": 6251,
                                            "end": 7455,
                                            "loc": {
                                              "start": {
                                                "line": 181,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 198,
                                                "column": 40
                                              }
                                            },
                                            "body": {
                                              "type": "BlockStatement",
                                              "start": 6254,
                                              "end": 7440,
                                              "loc": {
                                                "start": {
                                                  "line": 181,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 198,
                                                  "column": 25
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "VariableDeclaration",
                                                  "start": 6284,
                                                  "end": 6302,
                                                  "loc": {
                                                    "start": {
                                                      "line": 182,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 182,
                                                      "column": 46
                                                    }
                                                  },
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "start": 6288,
                                                      "end": 6301,
                                                      "loc": {
                                                        "start": {
                                                          "line": 182,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 182,
                                                          "column": 45
                                                        }
                                                      },
                                                      "id": {
                                                        "type": "Identifier",
                                                        "start": 6288,
                                                        "end": 6293,
                                                        "loc": {
                                                          "start": {
                                                            "line": 182,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 182,
                                                            "column": 37
                                                          },
                                                          "identifierName": "moved"
                                                        },
                                                        "name": "moved"
                                                      },
                                                      "init": {
                                                        "type": "BooleanLiteral",
                                                        "start": 6296,
                                                        "end": 6301,
                                                        "loc": {
                                                          "start": {
                                                            "line": 182,
                                                            "column": 40
                                                          },
                                                          "end": {
                                                            "line": 182,
                                                            "column": 45
                                                          }
                                                        },
                                                        "value": false
                                                      }
                                                    }
                                                  ],
                                                  "kind": "var"
                                                },
                                                {
                                                  "type": "ForStatement",
                                                  "start": 6331,
                                                  "end": 7304,
                                                  "loc": {
                                                    "start": {
                                                      "line": 183,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 196,
                                                      "column": 29
                                                    }
                                                  },
                                                  "init": {
                                                    "type": "VariableDeclaration",
                                                    "start": 6336,
                                                    "end": 6345,
                                                    "loc": {
                                                      "start": {
                                                        "line": 183,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 183,
                                                        "column": 42
                                                      }
                                                    },
                                                    "declarations": [
                                                      {
                                                        "type": "VariableDeclarator",
                                                        "start": 6340,
                                                        "end": 6345,
                                                        "loc": {
                                                          "start": {
                                                            "line": 183,
                                                            "column": 37
                                                          },
                                                          "end": {
                                                            "line": 183,
                                                            "column": 42
                                                          }
                                                        },
                                                        "id": {
                                                          "type": "Identifier",
                                                          "start": 6340,
                                                          "end": 6341,
                                                          "loc": {
                                                            "start": {
                                                              "line": 183,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 183,
                                                              "column": 38
                                                            },
                                                            "identifierName": "j"
                                                          },
                                                          "name": "j"
                                                        },
                                                        "init": {
                                                          "type": "NumericLiteral",
                                                          "start": 6344,
                                                          "end": 6345,
                                                          "loc": {
                                                            "start": {
                                                              "line": 183,
                                                              "column": 41
                                                            },
                                                            "end": {
                                                              "line": 183,
                                                              "column": 42
                                                            }
                                                          },
                                                          "extra": {
                                                            "rawValue": 0,
                                                            "raw": "0"
                                                          },
                                                          "value": 0
                                                        }
                                                      }
                                                    ],
                                                    "kind": "let"
                                                  },
                                                  "test": {
                                                    "type": "BinaryExpression",
                                                    "start": 6347,
                                                    "end": 6352,
                                                    "loc": {
                                                      "start": {
                                                        "line": 183,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 183,
                                                        "column": 49
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 6347,
                                                      "end": 6348,
                                                      "loc": {
                                                        "start": {
                                                          "line": 183,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 183,
                                                          "column": 45
                                                        },
                                                        "identifierName": "j"
                                                      },
                                                      "name": "j"
                                                    },
                                                    "operator": "<",
                                                    "right": {
                                                      "type": "Identifier",
                                                      "start": 6351,
                                                      "end": 6352,
                                                      "loc": {
                                                        "start": {
                                                          "line": 183,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 183,
                                                          "column": 49
                                                        },
                                                        "identifierName": "i"
                                                      },
                                                      "name": "i"
                                                    }
                                                  },
                                                  "update": {
                                                    "type": "UpdateExpression",
                                                    "start": 6354,
                                                    "end": 6357,
                                                    "loc": {
                                                      "start": {
                                                        "line": 183,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 183,
                                                        "column": 54
                                                      }
                                                    },
                                                    "operator": "++",
                                                    "prefix": false,
                                                    "argument": {
                                                      "type": "Identifier",
                                                      "start": 6354,
                                                      "end": 6355,
                                                      "loc": {
                                                        "start": {
                                                          "line": 183,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 183,
                                                          "column": 52
                                                        },
                                                        "identifierName": "j"
                                                      },
                                                      "name": "j"
                                                    }
                                                  },
                                                  "body": {
                                                    "type": "BlockStatement",
                                                    "start": 6359,
                                                    "end": 7304,
                                                    "loc": {
                                                      "start": {
                                                        "line": 183,
                                                        "column": 56
                                                      },
                                                      "end": {
                                                        "line": 196,
                                                        "column": 29
                                                      }
                                                    },
                                                    "body": [
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "start": 6393,
                                                        "end": 6422,
                                                        "loc": {
                                                          "start": {
                                                            "line": 184,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 184,
                                                            "column": 61
                                                          }
                                                        },
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "start": 6397,
                                                            "end": 6421,
                                                            "loc": {
                                                              "start": {
                                                                "line": 184,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 184,
                                                                "column": 60
                                                              }
                                                            },
                                                            "id": {
                                                              "type": "Identifier",
                                                              "start": 6397,
                                                              "end": 6405,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 184,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 184,
                                                                  "column": 44
                                                                },
                                                                "identifierName": "obstRect"
                                                              },
                                                              "name": "obstRect"
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "start": 6408,
                                                              "end": 6421,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 184,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 184,
                                                                  "column": 60
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 6408,
                                                                "end": 6418,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 184,
                                                                    "column": 47
                                                                  },
                                                                  "end": {
                                                                    "line": 184,
                                                                    "column": 57
                                                                  },
                                                                  "identifierName": "rectangles"
                                                                },
                                                                "name": "rectangles"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 6419,
                                                                "end": 6420,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 184,
                                                                    "column": 58
                                                                  },
                                                                  "end": {
                                                                    "line": 184,
                                                                    "column": 59
                                                                  },
                                                                  "identifierName": "j"
                                                                },
                                                                "name": "j"
                                                              },
                                                              "computed": true
                                                            }
                                                          }
                                                        ],
                                                        "kind": "let",
                                                        "trailingComments": [
                                                          {
                                                            "type": "CommentLine",
                                                            "value": "check if rectangles collide",
                                                            "start": 6455,
                                                            "end": 6484,
                                                            "loc": {
                                                              "start": {
                                                                "line": 185,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 185,
                                                                "column": 61
                                                              }
                                                            }
                                                          }
                                                        ]
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "start": 6517,
                                                        "end": 6634,
                                                        "loc": {
                                                          "start": {
                                                            "line": 186,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 187,
                                                            "column": 45
                                                          }
                                                        },
                                                        "test": {
                                                          "type": "BinaryExpression",
                                                          "start": 6521,
                                                          "end": 6587,
                                                          "loc": {
                                                            "start": {
                                                              "line": 186,
                                                              "column": 36
                                                            },
                                                            "end": {
                                                              "line": 186,
                                                              "column": 102
                                                            }
                                                          },
                                                          "left": {
                                                            "type": "CallExpression",
                                                            "start": 6521,
                                                            "end": 6553,
                                                            "loc": {
                                                              "start": {
                                                                "line": 186,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 186,
                                                                "column": 68
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "start": 6521,
                                                              "end": 6529,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 186,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 186,
                                                                  "column": 44
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 6521,
                                                                "end": 6525,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 186,
                                                                    "column": 36
                                                                  },
                                                                  "end": {
                                                                    "line": 186,
                                                                    "column": 40
                                                                  },
                                                                  "identifierName": "Math"
                                                                },
                                                                "name": "Math",
                                                                "leadingComments": null
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 6526,
                                                                "end": 6529,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 186,
                                                                    "column": 41
                                                                  },
                                                                  "end": {
                                                                    "line": 186,
                                                                    "column": 44
                                                                  },
                                                                  "identifierName": "abs"
                                                                },
                                                                "name": "abs"
                                                              },
                                                              "computed": false,
                                                              "leadingComments": null
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "BinaryExpression",
                                                                "start": 6530,
                                                                "end": 6552,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 186,
                                                                    "column": 45
                                                                  },
                                                                  "end": {
                                                                    "line": 186,
                                                                    "column": 67
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "Identifier",
                                                                  "start": 6530,
                                                                  "end": 6532,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 186,
                                                                      "column": 45
                                                                    },
                                                                    "end": {
                                                                      "line": 186,
                                                                      "column": 47
                                                                    },
                                                                    "identifierName": "cy"
                                                                  },
                                                                  "name": "cy"
                                                                },
                                                                "operator": "-",
                                                                "right": {
                                                                  "type": "MemberExpression",
                                                                  "start": 6535,
                                                                  "end": 6552,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 186,
                                                                      "column": 50
                                                                    },
                                                                    "end": {
                                                                      "line": 186,
                                                                      "column": 67
                                                                    }
                                                                  },
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 6535,
                                                                    "end": 6550,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 186,
                                                                        "column": 50
                                                                      },
                                                                      "end": {
                                                                        "line": 186,
                                                                        "column": 65
                                                                      }
                                                                    },
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "start": 6535,
                                                                      "end": 6543,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 186,
                                                                          "column": 50
                                                                        },
                                                                        "end": {
                                                                          "line": 186,
                                                                          "column": 58
                                                                        },
                                                                        "identifierName": "obstRect"
                                                                      },
                                                                      "name": "obstRect"
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "start": 6544,
                                                                      "end": 6550,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 186,
                                                                          "column": 59
                                                                        },
                                                                        "end": {
                                                                          "line": 186,
                                                                          "column": 65
                                                                        },
                                                                        "identifierName": "ctrPos"
                                                                      },
                                                                      "name": "ctrPos"
                                                                    },
                                                                    "computed": false
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "start": 6551,
                                                                    "end": 6552,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 186,
                                                                        "column": 66
                                                                      },
                                                                      "end": {
                                                                        "line": 186,
                                                                        "column": 67
                                                                      },
                                                                      "identifierName": "y"
                                                                    },
                                                                    "name": "y"
                                                                  },
                                                                  "computed": false
                                                                }
                                                              }
                                                            ],
                                                            "leadingComments": null
                                                          },
                                                          "operator": ">=",
                                                          "right": {
                                                            "type": "BinaryExpression",
                                                            "start": 6557,
                                                            "end": 6587,
                                                            "loc": {
                                                              "start": {
                                                                "line": 186,
                                                                "column": 72
                                                              },
                                                              "end": {
                                                                "line": 186,
                                                                "column": 102
                                                              }
                                                            },
                                                            "left": {
                                                              "type": "BinaryExpression",
                                                              "start": 6557,
                                                              "end": 6580,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 186,
                                                                  "column": 72
                                                                },
                                                                "end": {
                                                                  "line": 186,
                                                                  "column": 95
                                                                }
                                                              },
                                                              "left": {
                                                                "type": "BinaryExpression",
                                                                "start": 6558,
                                                                "end": 6568,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 186,
                                                                    "column": 73
                                                                  },
                                                                  "end": {
                                                                    "line": 186,
                                                                    "column": 83
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "NumericLiteral",
                                                                  "start": 6558,
                                                                  "end": 6559,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 186,
                                                                      "column": 73
                                                                    },
                                                                    "end": {
                                                                      "line": 186,
                                                                      "column": 74
                                                                    }
                                                                  },
                                                                  "extra": {
                                                                    "rawValue": 1,
                                                                    "raw": "1"
                                                                  },
                                                                  "value": 1
                                                                },
                                                                "operator": "+",
                                                                "right": {
                                                                  "type": "Identifier",
                                                                  "start": 6562,
                                                                  "end": 6568,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 186,
                                                                      "column": 77
                                                                    },
                                                                    "end": {
                                                                      "line": 186,
                                                                      "column": 83
                                                                    },
                                                                    "identifierName": "colEps"
                                                                  },
                                                                  "name": "colEps"
                                                                },
                                                                "extra": {
                                                                  "parenthesized": true,
                                                                  "parenStart": 6557
                                                                }
                                                              },
                                                              "operator": "*",
                                                              "right": {
                                                                "type": "Identifier",
                                                                "start": 6572,
                                                                "end": 6580,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 186,
                                                                    "column": 87
                                                                  },
                                                                  "end": {
                                                                    "line": 186,
                                                                    "column": 95
                                                                  },
                                                                  "identifierName": "iconSize"
                                                                },
                                                                "name": "iconSize"
                                                              }
                                                            },
                                                            "operator": "-",
                                                            "right": {
                                                              "type": "NumericLiteral",
                                                              "start": 6583,
                                                              "end": 6587,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 186,
                                                                  "column": 98
                                                                },
                                                                "end": {
                                                                  "line": 186,
                                                                  "column": 102
                                                                }
                                                              },
                                                              "extra": {
                                                                "rawValue": 1e-9,
                                                                "raw": "1e-9"
                                                              },
                                                              "value": 1e-9
                                                            }
                                                          },
                                                          "leadingComments": null
                                                        },
                                                        "consequent": {
                                                          "type": "ContinueStatement",
                                                          "start": 6625,
                                                          "end": 6634,
                                                          "loc": {
                                                            "start": {
                                                              "line": 187,
                                                              "column": 36
                                                            },
                                                            "end": {
                                                              "line": 187,
                                                              "column": 45
                                                            }
                                                          },
                                                          "label": null
                                                        },
                                                        "alternate": null,
                                                        "leadingComments": [
                                                          {
                                                            "type": "CommentLine",
                                                            "value": "check if rectangles collide",
                                                            "start": 6455,
                                                            "end": 6484,
                                                            "loc": {
                                                              "start": {
                                                                "line": 185,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 185,
                                                                "column": 61
                                                              }
                                                            }
                                                          }
                                                        ]
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "start": 6667,
                                                        "end": 6817,
                                                        "loc": {
                                                          "start": {
                                                            "line": 188,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 189,
                                                            "column": 45
                                                          }
                                                        },
                                                        "test": {
                                                          "type": "BinaryExpression",
                                                          "start": 6671,
                                                          "end": 6770,
                                                          "loc": {
                                                            "start": {
                                                              "line": 188,
                                                              "column": 36
                                                            },
                                                            "end": {
                                                              "line": 188,
                                                              "column": 135
                                                            }
                                                          },
                                                          "left": {
                                                            "type": "CallExpression",
                                                            "start": 6671,
                                                            "end": 6703,
                                                            "loc": {
                                                              "start": {
                                                                "line": 188,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 188,
                                                                "column": 68
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "start": 6671,
                                                              "end": 6679,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 188,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 188,
                                                                  "column": 44
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 6671,
                                                                "end": 6675,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 188,
                                                                    "column": 36
                                                                  },
                                                                  "end": {
                                                                    "line": 188,
                                                                    "column": 40
                                                                  },
                                                                  "identifierName": "Math"
                                                                },
                                                                "name": "Math"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 6676,
                                                                "end": 6679,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 188,
                                                                    "column": 41
                                                                  },
                                                                  "end": {
                                                                    "line": 188,
                                                                    "column": 44
                                                                  },
                                                                  "identifierName": "abs"
                                                                },
                                                                "name": "abs"
                                                              },
                                                              "computed": false
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "BinaryExpression",
                                                                "start": 6680,
                                                                "end": 6702,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 188,
                                                                    "column": 45
                                                                  },
                                                                  "end": {
                                                                    "line": 188,
                                                                    "column": 67
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "Identifier",
                                                                  "start": 6680,
                                                                  "end": 6682,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 188,
                                                                      "column": 45
                                                                    },
                                                                    "end": {
                                                                      "line": 188,
                                                                      "column": 47
                                                                    },
                                                                    "identifierName": "cx"
                                                                  },
                                                                  "name": "cx"
                                                                },
                                                                "operator": "-",
                                                                "right": {
                                                                  "type": "MemberExpression",
                                                                  "start": 6685,
                                                                  "end": 6702,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 188,
                                                                      "column": 50
                                                                    },
                                                                    "end": {
                                                                      "line": 188,
                                                                      "column": 67
                                                                    }
                                                                  },
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 6685,
                                                                    "end": 6700,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 188,
                                                                        "column": 50
                                                                      },
                                                                      "end": {
                                                                        "line": 188,
                                                                        "column": 65
                                                                      }
                                                                    },
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "start": 6685,
                                                                      "end": 6693,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 188,
                                                                          "column": 50
                                                                        },
                                                                        "end": {
                                                                          "line": 188,
                                                                          "column": 58
                                                                        },
                                                                        "identifierName": "obstRect"
                                                                      },
                                                                      "name": "obstRect"
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "start": 6694,
                                                                      "end": 6700,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 188,
                                                                          "column": 59
                                                                        },
                                                                        "end": {
                                                                          "line": 188,
                                                                          "column": 65
                                                                        },
                                                                        "identifierName": "ctrPos"
                                                                      },
                                                                      "name": "ctrPos"
                                                                    },
                                                                    "computed": false
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "start": 6701,
                                                                    "end": 6702,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 188,
                                                                        "column": 66
                                                                      },
                                                                      "end": {
                                                                        "line": 188,
                                                                        "column": 67
                                                                      },
                                                                      "identifierName": "x"
                                                                    },
                                                                    "name": "x"
                                                                  },
                                                                  "computed": false
                                                                }
                                                              }
                                                            ]
                                                          },
                                                          "operator": ">=",
                                                          "right": {
                                                            "type": "BinaryExpression",
                                                            "start": 6707,
                                                            "end": 6770,
                                                            "loc": {
                                                              "start": {
                                                                "line": 188,
                                                                "column": 72
                                                              },
                                                              "end": {
                                                                "line": 188,
                                                                "column": 135
                                                              }
                                                            },
                                                            "left": {
                                                              "type": "BinaryExpression",
                                                              "start": 6707,
                                                              "end": 6763,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 188,
                                                                  "column": 72
                                                                },
                                                                "end": {
                                                                  "line": 188,
                                                                  "column": 128
                                                                }
                                                              },
                                                              "left": {
                                                                "type": "BinaryExpression",
                                                                "start": 6708,
                                                                "end": 6751,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 188,
                                                                    "column": 73
                                                                  },
                                                                  "end": {
                                                                    "line": 188,
                                                                    "column": 116
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "BinaryExpression",
                                                                  "start": 6708,
                                                                  "end": 6742,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 188,
                                                                      "column": 73
                                                                    },
                                                                    "end": {
                                                                      "line": 188,
                                                                      "column": 107
                                                                    }
                                                                  },
                                                                  "left": {
                                                                    "type": "BinaryExpression",
                                                                    "start": 6709,
                                                                    "end": 6735,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 188,
                                                                        "column": 74
                                                                      },
                                                                      "end": {
                                                                        "line": 188,
                                                                        "column": 100
                                                                      }
                                                                    },
                                                                    "left": {
                                                                      "type": "MemberExpression",
                                                                      "start": 6709,
                                                                      "end": 6720,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 188,
                                                                          "column": 74
                                                                        },
                                                                        "end": {
                                                                          "line": 188,
                                                                          "column": 85
                                                                        }
                                                                      },
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "start": 6709,
                                                                        "end": 6716,
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 188,
                                                                            "column": 74
                                                                          },
                                                                          "end": {
                                                                            "line": 188,
                                                                            "column": 81
                                                                          },
                                                                          "identifierName": "newRect"
                                                                        },
                                                                        "name": "newRect"
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "start": 6717,
                                                                        "end": 6720,
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 188,
                                                                            "column": 82
                                                                          },
                                                                          "end": {
                                                                            "line": 188,
                                                                            "column": 85
                                                                          },
                                                                          "identifierName": "cnt"
                                                                        },
                                                                        "name": "cnt"
                                                                      },
                                                                      "computed": false
                                                                    },
                                                                    "operator": "+",
                                                                    "right": {
                                                                      "type": "MemberExpression",
                                                                      "start": 6723,
                                                                      "end": 6735,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 188,
                                                                          "column": 88
                                                                        },
                                                                        "end": {
                                                                          "line": 188,
                                                                          "column": 100
                                                                        }
                                                                      },
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "start": 6723,
                                                                        "end": 6731,
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 188,
                                                                            "column": 88
                                                                          },
                                                                          "end": {
                                                                            "line": 188,
                                                                            "column": 96
                                                                          },
                                                                          "identifierName": "obstRect"
                                                                        },
                                                                        "name": "obstRect"
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "start": 6732,
                                                                        "end": 6735,
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 188,
                                                                            "column": 97
                                                                          },
                                                                          "end": {
                                                                            "line": 188,
                                                                            "column": 100
                                                                          },
                                                                          "identifierName": "cnt"
                                                                        },
                                                                        "name": "cnt"
                                                                      },
                                                                      "computed": false
                                                                    },
                                                                    "extra": {
                                                                      "parenthesized": true,
                                                                      "parenStart": 6708
                                                                    }
                                                                  },
                                                                  "operator": "*",
                                                                  "right": {
                                                                    "type": "NumericLiteral",
                                                                    "start": 6739,
                                                                    "end": 6742,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 188,
                                                                        "column": 104
                                                                      },
                                                                      "end": {
                                                                        "line": 188,
                                                                        "column": 107
                                                                      }
                                                                    },
                                                                    "extra": {
                                                                      "rawValue": 0.5,
                                                                      "raw": "0.5"
                                                                    },
                                                                    "value": 0.5
                                                                  }
                                                                },
                                                                "operator": "+",
                                                                "right": {
                                                                  "type": "Identifier",
                                                                  "start": 6745,
                                                                  "end": 6751,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 188,
                                                                      "column": 110
                                                                    },
                                                                    "end": {
                                                                      "line": 188,
                                                                      "column": 116
                                                                    },
                                                                    "identifierName": "colEps"
                                                                  },
                                                                  "name": "colEps"
                                                                },
                                                                "extra": {
                                                                  "parenthesized": true,
                                                                  "parenStart": 6707
                                                                }
                                                              },
                                                              "operator": "*",
                                                              "right": {
                                                                "type": "Identifier",
                                                                "start": 6755,
                                                                "end": 6763,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 188,
                                                                    "column": 120
                                                                  },
                                                                  "end": {
                                                                    "line": 188,
                                                                    "column": 128
                                                                  },
                                                                  "identifierName": "iconSize"
                                                                },
                                                                "name": "iconSize"
                                                              }
                                                            },
                                                            "operator": "-",
                                                            "right": {
                                                              "type": "NumericLiteral",
                                                              "start": 6766,
                                                              "end": 6770,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 188,
                                                                  "column": 131
                                                                },
                                                                "end": {
                                                                  "line": 188,
                                                                  "column": 135
                                                                }
                                                              },
                                                              "extra": {
                                                                "rawValue": 1e-9,
                                                                "raw": "1e-9"
                                                              },
                                                              "value": 1e-9
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "ContinueStatement",
                                                          "start": 6808,
                                                          "end": 6817,
                                                          "loc": {
                                                            "start": {
                                                              "line": 189,
                                                              "column": 36
                                                            },
                                                            "end": {
                                                              "line": 189,
                                                              "column": 45
                                                            }
                                                          },
                                                          "label": null,
                                                          "leadingComments": null,
                                                          "trailingComments": null
                                                        },
                                                        "alternate": null,
                                                        "trailingComments": [
                                                          {
                                                            "type": "CommentLine",
                                                            "value": "do minimal horizontal movement which avoids collision",
                                                            "start": 6850,
                                                            "end": 6905,
                                                            "loc": {
                                                              "start": {
                                                                "line": 190,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 190,
                                                                "column": 87
                                                              }
                                                            }
                                                          }
                                                        ]
                                                      },
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "start": 6938,
                                                        "end": 6991,
                                                        "loc": {
                                                          "start": {
                                                            "line": 191,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 191,
                                                            "column": 85
                                                          }
                                                        },
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "start": 6942,
                                                            "end": 6990,
                                                            "loc": {
                                                              "start": {
                                                                "line": 191,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 191,
                                                                "column": 84
                                                              }
                                                            },
                                                            "id": {
                                                              "type": "Identifier",
                                                              "start": 6942,
                                                              "end": 6949,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 191,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 191,
                                                                  "column": 43
                                                                },
                                                                "identifierName": "newSide"
                                                              },
                                                              "name": "newSide",
                                                              "leadingComments": null
                                                            },
                                                            "init": {
                                                              "type": "BinaryExpression",
                                                              "start": 6952,
                                                              "end": 6990,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 191,
                                                                  "column": 46
                                                                },
                                                                "end": {
                                                                  "line": 191,
                                                                  "column": 84
                                                                }
                                                              },
                                                              "left": {
                                                                "type": "Identifier",
                                                                "start": 6952,
                                                                "end": 6954,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 191,
                                                                    "column": 46
                                                                  },
                                                                  "end": {
                                                                    "line": 191,
                                                                    "column": 48
                                                                  },
                                                                  "identifierName": "cx"
                                                                },
                                                                "name": "cx"
                                                              },
                                                              "operator": "+",
                                                              "right": {
                                                                "type": "BinaryExpression",
                                                                "start": 6957,
                                                                "end": 6990,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 191,
                                                                    "column": 51
                                                                  },
                                                                  "end": {
                                                                    "line": 191,
                                                                    "column": 84
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "BinaryExpression",
                                                                  "start": 6957,
                                                                  "end": 6984,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 191,
                                                                      "column": 51
                                                                    },
                                                                    "end": {
                                                                      "line": 191,
                                                                      "column": 78
                                                                    }
                                                                  },
                                                                  "left": {
                                                                    "type": "BinaryExpression",
                                                                    "start": 6957,
                                                                    "end": 6970,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 191,
                                                                        "column": 51
                                                                      },
                                                                      "end": {
                                                                        "line": 191,
                                                                        "column": 64
                                                                      }
                                                                    },
                                                                    "left": {
                                                                      "type": "Identifier",
                                                                      "start": 6957,
                                                                      "end": 6959,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 191,
                                                                          "column": 51
                                                                        },
                                                                        "end": {
                                                                          "line": 191,
                                                                          "column": 53
                                                                        },
                                                                        "identifierName": "hs"
                                                                      },
                                                                      "name": "hs"
                                                                    },
                                                                    "operator": "*",
                                                                    "right": {
                                                                      "type": "Identifier",
                                                                      "start": 6962,
                                                                      "end": 6970,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 191,
                                                                          "column": 56
                                                                        },
                                                                        "end": {
                                                                          "line": 191,
                                                                          "column": 64
                                                                        },
                                                                        "identifierName": "iconSize"
                                                                      },
                                                                      "name": "iconSize"
                                                                    }
                                                                  },
                                                                  "operator": "*",
                                                                  "right": {
                                                                    "type": "MemberExpression",
                                                                    "start": 6973,
                                                                    "end": 6984,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 191,
                                                                        "column": 67
                                                                      },
                                                                      "end": {
                                                                        "line": 191,
                                                                        "column": 78
                                                                      }
                                                                    },
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "start": 6973,
                                                                      "end": 6980,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 191,
                                                                          "column": 67
                                                                        },
                                                                        "end": {
                                                                          "line": 191,
                                                                          "column": 74
                                                                        },
                                                                        "identifierName": "newRect"
                                                                      },
                                                                      "name": "newRect"
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "start": 6981,
                                                                      "end": 6984,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 191,
                                                                          "column": 75
                                                                        },
                                                                        "end": {
                                                                          "line": 191,
                                                                          "column": 78
                                                                        },
                                                                        "identifierName": "cnt"
                                                                      },
                                                                      "name": "cnt"
                                                                    },
                                                                    "computed": false
                                                                  }
                                                                },
                                                                "operator": "*",
                                                                "right": {
                                                                  "type": "NumericLiteral",
                                                                  "start": 6987,
                                                                  "end": 6990,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 191,
                                                                      "column": 81
                                                                    },
                                                                    "end": {
                                                                      "line": 191,
                                                                      "column": 84
                                                                    }
                                                                  },
                                                                  "extra": {
                                                                    "rawValue": 0.5,
                                                                    "raw": "0.5"
                                                                  },
                                                                  "value": 0.5
                                                                }
                                                              }
                                                            },
                                                            "leadingComments": null
                                                          }
                                                        ],
                                                        "kind": "let",
                                                        "leadingComments": [
                                                          {
                                                            "type": "CommentLine",
                                                            "value": "do minimal horizontal movement which avoids collision",
                                                            "start": 6850,
                                                            "end": 6905,
                                                            "loc": {
                                                              "start": {
                                                                "line": 190,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 190,
                                                                "column": 87
                                                              }
                                                            }
                                                          }
                                                        ]
                                                      },
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "start": 7024,
                                                        "end": 7094,
                                                        "loc": {
                                                          "start": {
                                                            "line": 192,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 192,
                                                            "column": 102
                                                          }
                                                        },
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "start": 7028,
                                                            "end": 7093,
                                                            "loc": {
                                                              "start": {
                                                                "line": 192,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 192,
                                                                "column": 101
                                                              }
                                                            },
                                                            "id": {
                                                              "type": "Identifier",
                                                              "start": 7028,
                                                              "end": 7036,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 192,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 192,
                                                                  "column": 44
                                                                },
                                                                "identifierName": "obstSide"
                                                              },
                                                              "name": "obstSide"
                                                            },
                                                            "init": {
                                                              "type": "BinaryExpression",
                                                              "start": 7039,
                                                              "end": 7093,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 192,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 192,
                                                                  "column": 101
                                                                }
                                                              },
                                                              "left": {
                                                                "type": "MemberExpression",
                                                                "start": 7039,
                                                                "end": 7056,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 192,
                                                                    "column": 47
                                                                  },
                                                                  "end": {
                                                                    "line": 192,
                                                                    "column": 64
                                                                  }
                                                                },
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "start": 7039,
                                                                  "end": 7054,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 192,
                                                                      "column": 47
                                                                    },
                                                                    "end": {
                                                                      "line": 192,
                                                                      "column": 62
                                                                    }
                                                                  },
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "start": 7039,
                                                                    "end": 7047,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 192,
                                                                        "column": 47
                                                                      },
                                                                      "end": {
                                                                        "line": 192,
                                                                        "column": 55
                                                                      },
                                                                      "identifierName": "obstRect"
                                                                    },
                                                                    "name": "obstRect"
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "start": 7048,
                                                                    "end": 7054,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 192,
                                                                        "column": 56
                                                                      },
                                                                      "end": {
                                                                        "line": 192,
                                                                        "column": 62
                                                                      },
                                                                      "identifierName": "ctrPos"
                                                                    },
                                                                    "name": "ctrPos"
                                                                  },
                                                                  "computed": false
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "start": 7055,
                                                                  "end": 7056,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 192,
                                                                      "column": 63
                                                                    },
                                                                    "end": {
                                                                      "line": 192,
                                                                      "column": 64
                                                                    },
                                                                    "identifierName": "x"
                                                                  },
                                                                  "name": "x"
                                                                },
                                                                "computed": false
                                                              },
                                                              "operator": "-",
                                                              "right": {
                                                                "type": "BinaryExpression",
                                                                "start": 7059,
                                                                "end": 7093,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 192,
                                                                    "column": 67
                                                                  },
                                                                  "end": {
                                                                    "line": 192,
                                                                    "column": 101
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "BinaryExpression",
                                                                  "start": 7059,
                                                                  "end": 7087,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 192,
                                                                      "column": 67
                                                                    },
                                                                    "end": {
                                                                      "line": 192,
                                                                      "column": 95
                                                                    }
                                                                  },
                                                                  "left": {
                                                                    "type": "BinaryExpression",
                                                                    "start": 7059,
                                                                    "end": 7072,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 192,
                                                                        "column": 67
                                                                      },
                                                                      "end": {
                                                                        "line": 192,
                                                                        "column": 80
                                                                      }
                                                                    },
                                                                    "left": {
                                                                      "type": "Identifier",
                                                                      "start": 7059,
                                                                      "end": 7061,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 192,
                                                                          "column": 67
                                                                        },
                                                                        "end": {
                                                                          "line": 192,
                                                                          "column": 69
                                                                        },
                                                                        "identifierName": "hs"
                                                                      },
                                                                      "name": "hs"
                                                                    },
                                                                    "operator": "*",
                                                                    "right": {
                                                                      "type": "Identifier",
                                                                      "start": 7064,
                                                                      "end": 7072,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 192,
                                                                          "column": 72
                                                                        },
                                                                        "end": {
                                                                          "line": 192,
                                                                          "column": 80
                                                                        },
                                                                        "identifierName": "iconSize"
                                                                      },
                                                                      "name": "iconSize"
                                                                    }
                                                                  },
                                                                  "operator": "*",
                                                                  "right": {
                                                                    "type": "MemberExpression",
                                                                    "start": 7075,
                                                                    "end": 7087,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 192,
                                                                        "column": 83
                                                                      },
                                                                      "end": {
                                                                        "line": 192,
                                                                        "column": 95
                                                                      }
                                                                    },
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "start": 7075,
                                                                      "end": 7083,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 192,
                                                                          "column": 83
                                                                        },
                                                                        "end": {
                                                                          "line": 192,
                                                                          "column": 91
                                                                        },
                                                                        "identifierName": "obstRect"
                                                                      },
                                                                      "name": "obstRect"
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "start": 7084,
                                                                      "end": 7087,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 192,
                                                                          "column": 92
                                                                        },
                                                                        "end": {
                                                                          "line": 192,
                                                                          "column": 95
                                                                        },
                                                                        "identifierName": "cnt"
                                                                      },
                                                                      "name": "cnt"
                                                                    },
                                                                    "computed": false
                                                                  }
                                                                },
                                                                "operator": "*",
                                                                "right": {
                                                                  "type": "NumericLiteral",
                                                                  "start": 7090,
                                                                  "end": 7093,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 192,
                                                                      "column": 98
                                                                    },
                                                                    "end": {
                                                                      "line": 192,
                                                                      "column": 101
                                                                    }
                                                                  },
                                                                  "extra": {
                                                                    "rawValue": 0.5,
                                                                    "raw": "0.5"
                                                                  },
                                                                  "value": 0.5
                                                                }
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "let"
                                                      },
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "start": 7127,
                                                        "end": 7184,
                                                        "loc": {
                                                          "start": {
                                                            "line": 193,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 193,
                                                            "column": 89
                                                          }
                                                        },
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "start": 7131,
                                                            "end": 7183,
                                                            "loc": {
                                                              "start": {
                                                                "line": 193,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 193,
                                                                "column": 88
                                                              }
                                                            },
                                                            "id": {
                                                              "type": "Identifier",
                                                              "start": 7131,
                                                              "end": 7135,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 193,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 193,
                                                                  "column": 40
                                                                },
                                                                "identifierName": "diff"
                                                              },
                                                              "name": "diff"
                                                            },
                                                            "init": {
                                                              "type": "BinaryExpression",
                                                              "start": 7138,
                                                              "end": 7183,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 193,
                                                                  "column": 43
                                                                },
                                                                "end": {
                                                                  "line": 193,
                                                                  "column": 88
                                                                }
                                                              },
                                                              "left": {
                                                                "type": "BinaryExpression",
                                                                "start": 7139,
                                                                "end": 7157,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 193,
                                                                    "column": 44
                                                                  },
                                                                  "end": {
                                                                    "line": 193,
                                                                    "column": 62
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "Identifier",
                                                                  "start": 7139,
                                                                  "end": 7146,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 193,
                                                                      "column": 44
                                                                    },
                                                                    "end": {
                                                                      "line": 193,
                                                                      "column": 51
                                                                    },
                                                                    "identifierName": "newSide"
                                                                  },
                                                                  "name": "newSide"
                                                                },
                                                                "operator": "-",
                                                                "right": {
                                                                  "type": "Identifier",
                                                                  "start": 7149,
                                                                  "end": 7157,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 193,
                                                                      "column": 54
                                                                    },
                                                                    "end": {
                                                                      "line": 193,
                                                                      "column": 62
                                                                    },
                                                                    "identifierName": "obstSide"
                                                                  },
                                                                  "name": "obstSide"
                                                                },
                                                                "extra": {
                                                                  "parenthesized": true,
                                                                  "parenStart": 7138
                                                                }
                                                              },
                                                              "operator": "+",
                                                              "right": {
                                                                "type": "BinaryExpression",
                                                                "start": 7161,
                                                                "end": 7183,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 193,
                                                                    "column": 66
                                                                  },
                                                                  "end": {
                                                                    "line": 193,
                                                                    "column": 88
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "BinaryExpression",
                                                                  "start": 7161,
                                                                  "end": 7172,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 193,
                                                                      "column": 66
                                                                    },
                                                                    "end": {
                                                                      "line": 193,
                                                                      "column": 77
                                                                    }
                                                                  },
                                                                  "left": {
                                                                    "type": "Identifier",
                                                                    "start": 7161,
                                                                    "end": 7163,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 193,
                                                                        "column": 66
                                                                      },
                                                                      "end": {
                                                                        "line": 193,
                                                                        "column": 68
                                                                      },
                                                                      "identifierName": "hs"
                                                                    },
                                                                    "name": "hs"
                                                                  },
                                                                  "operator": "*",
                                                                  "right": {
                                                                    "type": "Identifier",
                                                                    "start": 7166,
                                                                    "end": 7172,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 193,
                                                                        "column": 71
                                                                      },
                                                                      "end": {
                                                                        "line": 193,
                                                                        "column": 77
                                                                      },
                                                                      "identifierName": "colEps"
                                                                    },
                                                                    "name": "colEps"
                                                                  }
                                                                },
                                                                "operator": "*",
                                                                "right": {
                                                                  "type": "Identifier",
                                                                  "start": 7175,
                                                                  "end": 7183,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 193,
                                                                      "column": 80
                                                                    },
                                                                    "end": {
                                                                      "line": 193,
                                                                      "column": 88
                                                                    },
                                                                    "identifierName": "iconSize"
                                                                  },
                                                                  "name": "iconSize"
                                                                }
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "let"
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "start": 7217,
                                                        "end": 7228,
                                                        "loc": {
                                                          "start": {
                                                            "line": 194,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 194,
                                                            "column": 43
                                                          }
                                                        },
                                                        "expression": {
                                                          "type": "AssignmentExpression",
                                                          "start": 7217,
                                                          "end": 7227,
                                                          "loc": {
                                                            "start": {
                                                              "line": 194,
                                                              "column": 32
                                                            },
                                                            "end": {
                                                              "line": 194,
                                                              "column": 42
                                                            }
                                                          },
                                                          "operator": "+=",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "start": 7217,
                                                            "end": 7219,
                                                            "loc": {
                                                              "start": {
                                                                "line": 194,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 194,
                                                                "column": 34
                                                              },
                                                              "identifierName": "cx"
                                                            },
                                                            "name": "cx"
                                                          },
                                                          "right": {
                                                            "type": "Identifier",
                                                            "start": 7223,
                                                            "end": 7227,
                                                            "loc": {
                                                              "start": {
                                                                "line": 194,
                                                                "column": 38
                                                              },
                                                              "end": {
                                                                "line": 194,
                                                                "column": 42
                                                              },
                                                              "identifierName": "diff"
                                                            },
                                                            "name": "diff"
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "start": 7261,
                                                        "end": 7274,
                                                        "loc": {
                                                          "start": {
                                                            "line": 195,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 195,
                                                            "column": 45
                                                          }
                                                        },
                                                        "expression": {
                                                          "type": "AssignmentExpression",
                                                          "start": 7261,
                                                          "end": 7273,
                                                          "loc": {
                                                            "start": {
                                                              "line": 195,
                                                              "column": 32
                                                            },
                                                            "end": {
                                                              "line": 195,
                                                              "column": 44
                                                            }
                                                          },
                                                          "operator": "=",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "start": 7261,
                                                            "end": 7266,
                                                            "loc": {
                                                              "start": {
                                                                "line": 195,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 195,
                                                                "column": 37
                                                              },
                                                              "identifierName": "moved"
                                                            },
                                                            "name": "moved"
                                                          },
                                                          "right": {
                                                            "type": "BooleanLiteral",
                                                            "start": 7269,
                                                            "end": 7273,
                                                            "loc": {
                                                              "start": {
                                                                "line": 195,
                                                                "column": 40
                                                              },
                                                              "end": {
                                                                "line": 195,
                                                                "column": 44
                                                              }
                                                            },
                                                            "value": true
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "directives": [],
                                                    "trailingComments": null
                                                  },
                                                  "trailingComments": [
                                                    {
                                                      "type": "CommentLine",
                                                      "value": "note: if something has moved, then we have to recheck everything for collisions",
                                                      "start": 7333,
                                                      "end": 7414,
                                                      "loc": {
                                                        "start": {
                                                          "line": 197,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 197,
                                                          "column": 109
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              ],
                                              "directives": []
                                            },
                                            "test": {
                                              "type": "Identifier",
                                              "start": 7448,
                                              "end": 7453,
                                              "loc": {
                                                "start": {
                                                  "line": 198,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 198,
                                                  "column": 38
                                                },
                                                "identifierName": "moved"
                                              },
                                              "name": "moved"
                                            }
                                          },
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 7481,
                                            "end": 7551,
                                            "loc": {
                                              "start": {
                                                "line": 200,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 200,
                                                "column": 94
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 7485,
                                                "end": 7550,
                                                "loc": {
                                                  "start": {
                                                    "line": 200,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 200,
                                                    "column": 93
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 7485,
                                                  "end": 7492,
                                                  "loc": {
                                                    "start": {
                                                      "line": 200,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 200,
                                                      "column": 35
                                                    },
                                                    "identifierName": "distSqr"
                                                  },
                                                  "name": "distSqr"
                                                },
                                                "init": {
                                                  "type": "BinaryExpression",
                                                  "start": 7495,
                                                  "end": 7550,
                                                  "loc": {
                                                    "start": {
                                                      "line": 200,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 200,
                                                      "column": 93
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "CallExpression",
                                                    "start": 7495,
                                                    "end": 7521,
                                                    "loc": {
                                                      "start": {
                                                        "line": 200,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 200,
                                                        "column": 64
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "Identifier",
                                                      "start": 7495,
                                                      "end": 7498,
                                                      "loc": {
                                                        "start": {
                                                          "line": 200,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 200,
                                                          "column": 41
                                                        },
                                                        "identifierName": "sqr"
                                                      },
                                                      "name": "sqr"
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "BinaryExpression",
                                                        "start": 7499,
                                                        "end": 7520,
                                                        "loc": {
                                                          "start": {
                                                            "line": 200,
                                                            "column": 42
                                                          },
                                                          "end": {
                                                            "line": 200,
                                                            "column": 63
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "Identifier",
                                                          "start": 7499,
                                                          "end": 7501,
                                                          "loc": {
                                                            "start": {
                                                              "line": 200,
                                                              "column": 42
                                                            },
                                                            "end": {
                                                              "line": 200,
                                                              "column": 44
                                                            },
                                                            "identifierName": "cx"
                                                          },
                                                          "name": "cx"
                                                        },
                                                        "operator": "-",
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "start": 7504,
                                                          "end": 7520,
                                                          "loc": {
                                                            "start": {
                                                              "line": 200,
                                                              "column": 47
                                                            },
                                                            "end": {
                                                              "line": 200,
                                                              "column": 63
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 7504,
                                                            "end": 7518,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 47
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 61
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 7504,
                                                              "end": 7511,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 200,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 200,
                                                                  "column": 54
                                                                },
                                                                "identifierName": "newRect"
                                                              },
                                                              "name": "newRect"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 7512,
                                                              "end": 7518,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 200,
                                                                  "column": 55
                                                                },
                                                                "end": {
                                                                  "line": 200,
                                                                  "column": 61
                                                                },
                                                                "identifierName": "keyPos"
                                                              },
                                                              "name": "keyPos"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 7519,
                                                            "end": 7520,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 62
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 63
                                                              },
                                                              "identifierName": "x"
                                                            },
                                                            "name": "x"
                                                          },
                                                          "computed": false
                                                        }
                                                      }
                                                    ]
                                                  },
                                                  "operator": "+",
                                                  "right": {
                                                    "type": "CallExpression",
                                                    "start": 7524,
                                                    "end": 7550,
                                                    "loc": {
                                                      "start": {
                                                        "line": 200,
                                                        "column": 67
                                                      },
                                                      "end": {
                                                        "line": 200,
                                                        "column": 93
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "Identifier",
                                                      "start": 7524,
                                                      "end": 7527,
                                                      "loc": {
                                                        "start": {
                                                          "line": 200,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 200,
                                                          "column": 70
                                                        },
                                                        "identifierName": "sqr"
                                                      },
                                                      "name": "sqr"
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "BinaryExpression",
                                                        "start": 7528,
                                                        "end": 7549,
                                                        "loc": {
                                                          "start": {
                                                            "line": 200,
                                                            "column": 71
                                                          },
                                                          "end": {
                                                            "line": 200,
                                                            "column": 92
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "Identifier",
                                                          "start": 7528,
                                                          "end": 7530,
                                                          "loc": {
                                                            "start": {
                                                              "line": 200,
                                                              "column": 71
                                                            },
                                                            "end": {
                                                              "line": 200,
                                                              "column": 73
                                                            },
                                                            "identifierName": "cy"
                                                          },
                                                          "name": "cy"
                                                        },
                                                        "operator": "-",
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "start": 7533,
                                                          "end": 7549,
                                                          "loc": {
                                                            "start": {
                                                              "line": 200,
                                                              "column": 76
                                                            },
                                                            "end": {
                                                              "line": 200,
                                                              "column": 92
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 7533,
                                                            "end": 7547,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 76
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 90
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 7533,
                                                              "end": 7540,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 200,
                                                                  "column": 76
                                                                },
                                                                "end": {
                                                                  "line": 200,
                                                                  "column": 83
                                                                },
                                                                "identifierName": "newRect"
                                                              },
                                                              "name": "newRect"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 7541,
                                                              "end": 7547,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 200,
                                                                  "column": 84
                                                                },
                                                                "end": {
                                                                  "line": 200,
                                                                  "column": 90
                                                                },
                                                                "identifierName": "keyPos"
                                                              },
                                                              "name": "keyPos"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 7548,
                                                            "end": 7549,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 91
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 92
                                                              },
                                                              "identifierName": "y"
                                                            },
                                                            "name": "y"
                                                          },
                                                          "computed": false
                                                        }
                                                      }
                                                    ]
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "let"
                                          },
                                          {
                                            "type": "IfStatement",
                                            "start": 7576,
                                            "end": 7733,
                                            "loc": {
                                              "start": {
                                                "line": 201,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 25
                                              }
                                            },
                                            "test": {
                                              "type": "BinaryExpression",
                                              "start": 7580,
                                              "end": 7601,
                                              "loc": {
                                                "start": {
                                                  "line": 201,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 201,
                                                  "column": 49
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 7580,
                                                "end": 7591,
                                                "loc": {
                                                  "start": {
                                                    "line": 201,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 201,
                                                    "column": 39
                                                  },
                                                  "identifierName": "bestDistSqr"
                                                },
                                                "name": "bestDistSqr"
                                              },
                                              "operator": ">",
                                              "right": {
                                                "type": "Identifier",
                                                "start": 7594,
                                                "end": 7601,
                                                "loc": {
                                                  "start": {
                                                    "line": 201,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 201,
                                                    "column": 49
                                                  },
                                                  "identifierName": "distSqr"
                                                },
                                                "name": "distSqr"
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "start": 7603,
                                              "end": 7733,
                                              "loc": {
                                                "start": {
                                                  "line": 201,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 204,
                                                  "column": 25
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 7633,
                                                  "end": 7655,
                                                  "loc": {
                                                    "start": {
                                                      "line": 202,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 202,
                                                      "column": 50
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "start": 7633,
                                                    "end": 7654,
                                                    "loc": {
                                                      "start": {
                                                        "line": 202,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 202,
                                                        "column": 49
                                                      }
                                                    },
                                                    "operator": "=",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 7633,
                                                      "end": 7644,
                                                      "loc": {
                                                        "start": {
                                                          "line": 202,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 202,
                                                          "column": 39
                                                        },
                                                        "identifierName": "bestDistSqr"
                                                      },
                                                      "name": "bestDistSqr"
                                                    },
                                                    "right": {
                                                      "type": "Identifier",
                                                      "start": 7647,
                                                      "end": 7654,
                                                      "loc": {
                                                        "start": {
                                                          "line": 202,
                                                          "column": 42
                                                        },
                                                        "end": {
                                                          "line": 202,
                                                          "column": 49
                                                        },
                                                        "identifierName": "distSqr"
                                                      },
                                                      "name": "distSqr"
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 7684,
                                                  "end": 7695,
                                                  "loc": {
                                                    "start": {
                                                      "line": 203,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 203,
                                                      "column": 39
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "start": 7684,
                                                    "end": 7694,
                                                    "loc": {
                                                      "start": {
                                                        "line": 203,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 203,
                                                        "column": 38
                                                      }
                                                    },
                                                    "operator": "=",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 7684,
                                                      "end": 7689,
                                                      "loc": {
                                                        "start": {
                                                          "line": 203,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 203,
                                                          "column": 33
                                                        },
                                                        "identifierName": "bestX"
                                                      },
                                                      "name": "bestX"
                                                    },
                                                    "right": {
                                                      "type": "Identifier",
                                                      "start": 7692,
                                                      "end": 7694,
                                                      "loc": {
                                                        "start": {
                                                          "line": 203,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 203,
                                                          "column": 38
                                                        },
                                                        "identifierName": "cx"
                                                      },
                                                      "name": "cx"
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 7696,
                                                  "end": 7707,
                                                  "loc": {
                                                    "start": {
                                                      "line": 203,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 203,
                                                      "column": 51
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "start": 7696,
                                                    "end": 7706,
                                                    "loc": {
                                                      "start": {
                                                        "line": 203,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 203,
                                                        "column": 50
                                                      }
                                                    },
                                                    "operator": "=",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 7696,
                                                      "end": 7701,
                                                      "loc": {
                                                        "start": {
                                                          "line": 203,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 203,
                                                          "column": 45
                                                        },
                                                        "identifierName": "bestY"
                                                      },
                                                      "name": "bestY"
                                                    },
                                                    "right": {
                                                      "type": "Identifier",
                                                      "start": 7704,
                                                      "end": 7706,
                                                      "loc": {
                                                        "start": {
                                                          "line": 203,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 203,
                                                          "column": 50
                                                        },
                                                        "identifierName": "cy"
                                                      },
                                                      "name": "cy"
                                                    }
                                                  }
                                                }
                                              ],
                                              "directives": [],
                                              "trailingComments": null
                                            },
                                            "alternate": null,
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": "early cutoff: if no horizontal movement happened",
                                                "start": 7758,
                                                "end": 7808,
                                                "loc": {
                                                  "start": {
                                                    "line": 205,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 205,
                                                    "column": 74
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "IfStatement",
                                            "start": 7833,
                                            "end": 7915,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 53
                                              }
                                            },
                                            "test": {
                                              "type": "BinaryExpression",
                                              "start": 7837,
                                              "end": 7860,
                                              "loc": {
                                                "start": {
                                                  "line": 206,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 206,
                                                  "column": 51
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 7837,
                                                "end": 7839,
                                                "loc": {
                                                  "start": {
                                                    "line": 206,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 206,
                                                    "column": 30
                                                  },
                                                  "identifierName": "cx"
                                                },
                                                "name": "cx",
                                                "leadingComments": null
                                              },
                                              "operator": "===",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 7844,
                                                "end": 7860,
                                                "loc": {
                                                  "start": {
                                                    "line": 206,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 206,
                                                    "column": 51
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 7844,
                                                  "end": 7858,
                                                  "loc": {
                                                    "start": {
                                                      "line": 206,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 206,
                                                      "column": 49
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 7844,
                                                    "end": 7851,
                                                    "loc": {
                                                      "start": {
                                                        "line": 206,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 206,
                                                        "column": 42
                                                      },
                                                      "identifierName": "newRect"
                                                    },
                                                    "name": "newRect"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 7852,
                                                    "end": 7858,
                                                    "loc": {
                                                      "start": {
                                                        "line": 206,
                                                        "column": 43
                                                      },
                                                      "end": {
                                                        "line": 206,
                                                        "column": 49
                                                      },
                                                      "identifierName": "keyPos"
                                                    },
                                                    "name": "keyPos"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 7859,
                                                  "end": 7860,
                                                  "loc": {
                                                    "start": {
                                                      "line": 206,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 206,
                                                      "column": 51
                                                    },
                                                    "identifierName": "x"
                                                  },
                                                  "name": "x"
                                                },
                                                "computed": false
                                              },
                                              "leadingComments": null
                                            },
                                            "consequent": {
                                              "type": "BreakStatement",
                                              "start": 7890,
                                              "end": 7915,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 53
                                                }
                                              },
                                              "label": {
                                                "type": "Identifier",
                                                "start": 7896,
                                                "end": 7914,
                                                "loc": {
                                                  "start": {
                                                    "line": 207,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 207,
                                                    "column": 52
                                                  },
                                                  "identifierName": "rectanglePlaceLoop"
                                                },
                                                "name": "rectanglePlaceLoop"
                                              }
                                            },
                                            "alternate": null,
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": "early cutoff: if no horizontal movement happened",
                                                "start": 7758,
                                                "end": 7808,
                                                "loc": {
                                                  "start": {
                                                    "line": 205,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 205,
                                                    "column": 74
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        ],
                                        "directives": []
                                      },
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": "try both direction for horizontal moving",
                                          "start": 6074,
                                          "end": 6116,
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 62
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  ],
                                  "directives": [],
                                  "trailingComments": null
                                },
                                "trailingComments": null
                              },
                              "trailingComments": null
                            },
                            "label": {
                              "type": "Identifier",
                              "start": 5620,
                              "end": 5638,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 12
                                },
                                "end": {
                                  "line": 168,
                                  "column": 30
                                },
                                "identifierName": "rectanglePlaceLoop"
                              },
                              "name": "rectanglePlaceLoop"
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": "place rectangle into found position (not changed later)",
                                "start": 7969,
                                "end": 8026,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 69
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 8039,
                            "end": 8093,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 12
                              },
                              "end": {
                                "line": 212,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 8039,
                              "end": 8092,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 12
                                },
                                "end": {
                                  "line": 212,
                                  "column": 65
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 8039,
                                "end": 8053,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8039,
                                  "end": 8046,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 19
                                    },
                                    "identifierName": "newRect"
                                  },
                                  "name": "newRect",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8047,
                                  "end": 8053,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 26
                                    },
                                    "identifierName": "ctrPos"
                                  },
                                  "name": "ctrPos"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 8056,
                                "end": 8092,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 65
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8060,
                                  "end": 8073,
                                  "loc": {
                                    "start": {
                                      "line": 212,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 212,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8060,
                                    "end": 8065,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 38
                                      },
                                      "identifierName": "THREE"
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8066,
                                    "end": 8073,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 46
                                      },
                                      "identifierName": "Vector3"
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 8074,
                                    "end": 8079,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 52
                                      },
                                      "identifierName": "bestX"
                                    },
                                    "name": "bestX"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 8081,
                                    "end": 8086,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 59
                                      },
                                      "identifierName": "bestY"
                                    },
                                    "name": "bestY"
                                  },
                                  {
                                    "type": "NumericLiteral",
                                    "start": 8088,
                                    "end": 8091,
                                    "loc": {
                                      "start": {
                                        "line": 212,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 212,
                                        "column": 64
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0.0"
                                    },
                                    "value": 0
                                  }
                                ]
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "place rectangle into found position (not changed later)",
                                "start": 7969,
                                "end": 8026,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 69
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "set positions for all entity lists (each one is rectangle)",
                          "start": 5309,
                          "end": 5369,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 8
                            },
                            "end": {
                              "line": 160,
                              "column": 68
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "set positions for all constraint icons",
                          "start": 8113,
                          "end": 8153,
                          "loc": {
                            "start": {
                              "line": 215,
                              "column": 8
                            },
                            "end": {
                              "line": 215,
                              "column": 48
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 8162,
                      "end": 8776,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 8
                        },
                        "end": {
                          "line": 228,
                          "column": 9
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 8167,
                        "end": 8188,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 13
                          },
                          "end": {
                            "line": 216,
                            "column": 34
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 8171,
                            "end": 8188,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 17
                              },
                              "end": {
                                "line": 216,
                                "column": 34
                              }
                            },
                            "id": {
                              "type": "ObjectPattern",
                              "start": 8171,
                              "end": 8188,
                              "loc": {
                                "start": {
                                  "line": 216,
                                  "column": 17
                                },
                                "end": {
                                  "line": 216,
                                  "column": 34
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 8172,
                                  "end": 8174,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 20
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 8172,
                                    "end": 8174,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 20
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id",
                                    "leadingComments": null
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "start": 8172,
                                    "end": 8174,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 20
                                      },
                                      "identifierName": "id"
                                    },
                                    "name": "id"
                                  },
                                  "leadingComments": null,
                                  "extra": {
                                    "shorthand": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 8176,
                                  "end": 8182,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 28
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 8176,
                                    "end": 8182,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 28
                                      },
                                      "identifierName": "ctrPos"
                                    },
                                    "name": "ctrPos"
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "start": 8176,
                                    "end": 8182,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 28
                                      },
                                      "identifierName": "ctrPos"
                                    },
                                    "name": "ctrPos"
                                  },
                                  "extra": {
                                    "shorthand": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 8184,
                                  "end": 8187,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 33
                                    }
                                  },
                                  "method": false,
                                  "shorthand": true,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 8184,
                                    "end": 8187,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 33
                                      },
                                      "identifierName": "cnt"
                                    },
                                    "name": "cnt"
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "start": 8184,
                                    "end": 8187,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 33
                                      },
                                      "identifierName": "cnt"
                                    },
                                    "name": "cnt"
                                  },
                                  "extra": {
                                    "shorthand": true
                                  }
                                }
                              ],
                              "leadingComments": null
                            },
                            "init": null,
                            "leadingComments": null
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 8192,
                        "end": 8202,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 38
                          },
                          "end": {
                            "line": 216,
                            "column": 48
                          },
                          "identifierName": "rectangles"
                        },
                        "name": "rectangles"
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 8204,
                        "end": 8776,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 50
                          },
                          "end": {
                            "line": 228,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 8218,
                            "end": 8255,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 12
                              },
                              "end": {
                                "line": 217,
                                "column": 49
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 8222,
                                "end": 8254,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 48
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 8222,
                                  "end": 8229,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 23
                                    },
                                    "identifierName": "conList"
                                  },
                                  "name": "conList"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 8232,
                                  "end": 8254,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 48
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 8232,
                                    "end": 8250,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8232,
                                      "end": 8246,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 40
                                        },
                                        "identifierName": "perEntityLists"
                                      },
                                      "name": "perEntityLists"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8247,
                                      "end": 8250,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 44
                                        },
                                        "identifierName": "get"
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 8251,
                                      "end": 8253,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 47
                                        },
                                        "identifierName": "id"
                                      },
                                      "name": "id"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let",
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": "sort constraint lists (for stability)",
                                "start": 8268,
                                "end": 8307,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 51
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 8320,
                            "end": 8352,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 12
                              },
                              "end": {
                                "line": 219,
                                "column": 44
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 8320,
                              "end": 8351,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 12
                                },
                                "end": {
                                  "line": 219,
                                  "column": 43
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8320,
                                "end": 8332,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8320,
                                  "end": 8327,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 19
                                    },
                                    "identifierName": "conList"
                                  },
                                  "name": "conList",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8328,
                                  "end": 8332,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 24
                                    },
                                    "identifierName": "sort"
                                  },
                                  "name": "sort"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 8333,
                                  "end": 8350,
                                  "loc": {
                                    "start": {
                                      "line": 219,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 219,
                                      "column": 42
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 8334,
                                      "end": 8335,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 27
                                        },
                                        "identifierName": "a"
                                      },
                                      "name": "a"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 8337,
                                      "end": 8338,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 30
                                        },
                                        "identifierName": "b"
                                      },
                                      "name": "b"
                                    }
                                  ],
                                  "body": {
                                    "type": "BinaryExpression",
                                    "start": 8344,
                                    "end": 8349,
                                    "loc": {
                                      "start": {
                                        "line": 219,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 219,
                                        "column": 41
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8344,
                                      "end": 8345,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 37
                                        },
                                        "identifierName": "a"
                                      },
                                      "name": "a"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 8348,
                                      "end": 8349,
                                      "loc": {
                                        "start": {
                                          "line": 219,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 41
                                        },
                                        "identifierName": "b"
                                      },
                                      "name": "b"
                                    },
                                    "extra": {
                                      "parenthesized": true,
                                      "parenStart": 8343
                                    }
                                  }
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "sort constraint lists (for stability)",
                                "start": 8268,
                                "end": 8307,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 51
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ForStatement",
                            "start": 8366,
                            "end": 8766,
                            "loc": {
                              "start": {
                                "line": 221,
                                "column": 12
                              },
                              "end": {
                                "line": 227,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 8371,
                              "end": 8380,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 17
                                },
                                "end": {
                                  "line": 221,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 8375,
                                  "end": 8380,
                                  "loc": {
                                    "start": {
                                      "line": 221,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 221,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 8375,
                                    "end": 8376,
                                    "loc": {
                                      "start": {
                                        "line": 221,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 221,
                                        "column": 22
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "NumericLiteral",
                                    "start": 8379,
                                    "end": 8380,
                                    "loc": {
                                      "start": {
                                        "line": 221,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 221,
                                        "column": 26
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 8382,
                              "end": 8389,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 28
                                },
                                "end": {
                                  "line": 221,
                                  "column": 35
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 8382,
                                "end": 8383,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 29
                                  },
                                  "identifierName": "i"
                                },
                                "name": "i"
                              },
                              "operator": "<",
                              "right": {
                                "type": "Identifier",
                                "start": 8386,
                                "end": 8389,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 35
                                  },
                                  "identifierName": "cnt"
                                },
                                "name": "cnt"
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 8391,
                              "end": 8394,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 37
                                },
                                "end": {
                                  "line": 221,
                                  "column": 40
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 8391,
                                "end": 8392,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 38
                                  },
                                  "identifierName": "i"
                                },
                                "name": "i"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 8396,
                              "end": 8766,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 42
                                },
                                "end": {
                                  "line": 227,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 8414,
                                  "end": 8512,
                                  "loc": {
                                    "start": {
                                      "line": 222,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 222,
                                      "column": 114
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 8418,
                                      "end": 8511,
                                      "loc": {
                                        "start": {
                                          "line": 222,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 222,
                                          "column": 113
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 8418,
                                        "end": 8421,
                                        "loc": {
                                          "start": {
                                            "line": 222,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 222,
                                            "column": 23
                                          },
                                          "identifierName": "pos"
                                        },
                                        "name": "pos"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 8424,
                                        "end": 8511,
                                        "loc": {
                                          "start": {
                                            "line": 222,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 222,
                                            "column": 113
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8424,
                                          "end": 8442,
                                          "loc": {
                                            "start": {
                                              "line": 222,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 222,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "CallExpression",
                                            "start": 8424,
                                            "end": 8438,
                                            "loc": {
                                              "start": {
                                                "line": 222,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 222,
                                                "column": 40
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8424,
                                              "end": 8436,
                                              "loc": {
                                                "start": {
                                                  "line": 222,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 222,
                                                  "column": 38
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8424,
                                                "end": 8430,
                                                "loc": {
                                                  "start": {
                                                    "line": 222,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 222,
                                                    "column": 32
                                                  },
                                                  "identifierName": "ctrPos"
                                                },
                                                "name": "ctrPos"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8431,
                                                "end": 8436,
                                                "loc": {
                                                  "start": {
                                                    "line": 222,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 222,
                                                    "column": 38
                                                  },
                                                  "identifierName": "clone"
                                                },
                                                "name": "clone"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8439,
                                            "end": 8442,
                                            "loc": {
                                              "start": {
                                                "line": 222,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 222,
                                                "column": 44
                                              },
                                              "identifierName": "add"
                                            },
                                            "name": "add"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 8443,
                                            "end": 8510,
                                            "loc": {
                                              "start": {
                                                "line": 222,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 222,
                                                "column": 112
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8443,
                                              "end": 8500,
                                              "loc": {
                                                "start": {
                                                  "line": 222,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 222,
                                                  "column": 102
                                                }
                                              },
                                              "object": {
                                                "type": "NewExpression",
                                                "start": 8443,
                                                "end": 8485,
                                                "loc": {
                                                  "start": {
                                                    "line": 222,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 222,
                                                    "column": 87
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 8447,
                                                  "end": 8460,
                                                  "loc": {
                                                    "start": {
                                                      "line": 222,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 222,
                                                      "column": 62
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 8447,
                                                    "end": 8452,
                                                    "loc": {
                                                      "start": {
                                                        "line": 222,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 222,
                                                        "column": 54
                                                      },
                                                      "identifierName": "THREE"
                                                    },
                                                    "name": "THREE"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8453,
                                                    "end": 8460,
                                                    "loc": {
                                                      "start": {
                                                        "line": 222,
                                                        "column": 55
                                                      },
                                                      "end": {
                                                        "line": 222,
                                                        "column": 62
                                                      },
                                                      "identifierName": "Vector3"
                                                    },
                                                    "name": "Vector3"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "BinaryExpression",
                                                    "start": 8461,
                                                    "end": 8478,
                                                    "loc": {
                                                      "start": {
                                                        "line": 222,
                                                        "column": 63
                                                      },
                                                      "end": {
                                                        "line": 222,
                                                        "column": 80
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 8461,
                                                      "end": 8462,
                                                      "loc": {
                                                        "start": {
                                                          "line": 222,
                                                          "column": 63
                                                        },
                                                        "end": {
                                                          "line": 222,
                                                          "column": 64
                                                        },
                                                        "identifierName": "i"
                                                      },
                                                      "name": "i"
                                                    },
                                                    "operator": "-",
                                                    "right": {
                                                      "type": "BinaryExpression",
                                                      "start": 8465,
                                                      "end": 8478,
                                                      "loc": {
                                                        "start": {
                                                          "line": 222,
                                                          "column": 67
                                                        },
                                                        "end": {
                                                          "line": 222,
                                                          "column": 80
                                                        }
                                                      },
                                                      "left": {
                                                        "type": "NumericLiteral",
                                                        "start": 8465,
                                                        "end": 8468,
                                                        "loc": {
                                                          "start": {
                                                            "line": 222,
                                                            "column": 67
                                                          },
                                                          "end": {
                                                            "line": 222,
                                                            "column": 70
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": 0.5,
                                                          "raw": "0.5"
                                                        },
                                                        "value": 0.5
                                                      },
                                                      "operator": "*",
                                                      "right": {
                                                        "type": "BinaryExpression",
                                                        "start": 8472,
                                                        "end": 8477,
                                                        "loc": {
                                                          "start": {
                                                            "line": 222,
                                                            "column": 74
                                                          },
                                                          "end": {
                                                            "line": 222,
                                                            "column": 79
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "Identifier",
                                                          "start": 8472,
                                                          "end": 8475,
                                                          "loc": {
                                                            "start": {
                                                              "line": 222,
                                                              "column": 74
                                                            },
                                                            "end": {
                                                              "line": 222,
                                                              "column": 77
                                                            },
                                                            "identifierName": "cnt"
                                                          },
                                                          "name": "cnt"
                                                        },
                                                        "operator": "-",
                                                        "right": {
                                                          "type": "NumericLiteral",
                                                          "start": 8476,
                                                          "end": 8477,
                                                          "loc": {
                                                            "start": {
                                                              "line": 222,
                                                              "column": 78
                                                            },
                                                            "end": {
                                                              "line": 222,
                                                              "column": 79
                                                            }
                                                          },
                                                          "extra": {
                                                            "rawValue": 1,
                                                            "raw": "1"
                                                          },
                                                          "value": 1
                                                        },
                                                        "extra": {
                                                          "parenthesized": true,
                                                          "parenStart": 8471
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "NumericLiteral",
                                                    "start": 8480,
                                                    "end": 8481,
                                                    "loc": {
                                                      "start": {
                                                        "line": 222,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 222,
                                                        "column": 83
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": 0,
                                                      "raw": "0"
                                                    },
                                                    "value": 0
                                                  },
                                                  {
                                                    "type": "NumericLiteral",
                                                    "start": 8483,
                                                    "end": 8484,
                                                    "loc": {
                                                      "start": {
                                                        "line": 222,
                                                        "column": 85
                                                      },
                                                      "end": {
                                                        "line": 222,
                                                        "column": 86
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": 0,
                                                      "raw": "0"
                                                    },
                                                    "value": 0
                                                  }
                                                ]
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8486,
                                                "end": 8500,
                                                "loc": {
                                                  "start": {
                                                    "line": 222,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 222,
                                                    "column": 102
                                                  },
                                                  "identifierName": "multiplyScalar"
                                                },
                                                "name": "multiplyScalar"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 8501,
                                                "end": 8509,
                                                "loc": {
                                                  "start": {
                                                    "line": 222,
                                                    "column": 103
                                                  },
                                                  "end": {
                                                    "line": 222,
                                                    "column": 111
                                                  },
                                                  "identifierName": "iconSize"
                                                },
                                                "name": "iconSize"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 8529,
                                  "end": 8552,
                                  "loc": {
                                    "start": {
                                      "line": 223,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 223,
                                      "column": 39
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 8533,
                                      "end": 8551,
                                      "loc": {
                                        "start": {
                                          "line": 223,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 223,
                                          "column": 38
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 8533,
                                        "end": 8538,
                                        "loc": {
                                          "start": {
                                            "line": 223,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 223,
                                            "column": 25
                                          },
                                          "identifierName": "conId"
                                        },
                                        "name": "conId"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 8541,
                                        "end": 8551,
                                        "loc": {
                                          "start": {
                                            "line": 223,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 223,
                                            "column": 38
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8541,
                                          "end": 8548,
                                          "loc": {
                                            "start": {
                                              "line": 223,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 223,
                                              "column": 35
                                            },
                                            "identifierName": "conList"
                                          },
                                          "name": "conList"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8549,
                                          "end": 8550,
                                          "loc": {
                                            "start": {
                                              "line": 223,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 223,
                                              "column": 37
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 8569,
                                  "end": 8614,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 61
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 8573,
                                      "end": 8613,
                                      "loc": {
                                        "start": {
                                          "line": 224,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 224,
                                          "column": 60
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 8573,
                                        "end": 8579,
                                        "loc": {
                                          "start": {
                                            "line": 224,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 224,
                                            "column": 26
                                          },
                                          "identifierName": "constr"
                                        },
                                        "name": "constr"
                                      },
                                      "init": {
                                        "type": "NewExpression",
                                        "start": 8582,
                                        "end": 8613,
                                        "loc": {
                                          "start": {
                                            "line": 224,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 224,
                                            "column": 60
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 8586,
                                          "end": 8591,
                                          "loc": {
                                            "start": {
                                              "line": 224,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 224,
                                              "column": 38
                                            },
                                            "identifierName": "Ccref"
                                          },
                                          "name": "Ccref"
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 8592,
                                            "end": 8605,
                                            "loc": {
                                              "start": {
                                                "line": 224,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 224,
                                                "column": 52
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 8592,
                                              "end": 8596,
                                              "loc": {
                                                "start": {
                                                  "line": 224,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 224,
                                                  "column": 43
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8597,
                                              "end": 8605,
                                              "loc": {
                                                "start": {
                                                  "line": 224,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 224,
                                                  "column": 52
                                                },
                                                "identifierName": "sketcher"
                                              },
                                              "name": "sketcher"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 8607,
                                            "end": 8612,
                                            "loc": {
                                              "start": {
                                                "line": 224,
                                                "column": 54
                                              },
                                              "end": {
                                                "line": 224,
                                                "column": 59
                                              },
                                              "identifierName": "conId"
                                            },
                                            "name": "conId"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8631,
                                  "end": 8676,
                                  "loc": {
                                    "start": {
                                      "line": 225,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 225,
                                      "column": 61
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8631,
                                    "end": 8675,
                                    "loc": {
                                      "start": {
                                        "line": 225,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 225,
                                        "column": 60
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8631,
                                      "end": 8670,
                                      "loc": {
                                        "start": {
                                          "line": 225,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 225,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 8631,
                                        "end": 8665,
                                        "loc": {
                                          "start": {
                                            "line": 225,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 225,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 8631,
                                          "end": 8656,
                                          "loc": {
                                            "start": {
                                              "line": 225,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 225,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 8631,
                                            "end": 8646,
                                            "loc": {
                                              "start": {
                                                "line": 225,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 225,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8631,
                                              "end": 8637,
                                              "loc": {
                                                "start": {
                                                  "line": 225,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 225,
                                                  "column": 22
                                                },
                                                "identifierName": "constr"
                                              },
                                              "name": "constr"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8638,
                                              "end": 8646,
                                              "loc": {
                                                "start": {
                                                  "line": 225,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 225,
                                                  "column": 31
                                                },
                                                "identifierName": "graphics"
                                              },
                                              "name": "graphics"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8647,
                                            "end": 8656,
                                            "loc": {
                                              "start": {
                                                "line": 225,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 225,
                                                "column": 41
                                              },
                                              "identifierName": "localMesh"
                                            },
                                            "name": "localMesh"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8657,
                                          "end": 8665,
                                          "loc": {
                                            "start": {
                                              "line": 225,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 225,
                                              "column": 50
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8666,
                                        "end": 8670,
                                        "loc": {
                                          "start": {
                                            "line": 225,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 225,
                                            "column": 55
                                          },
                                          "identifierName": "copy"
                                        },
                                        "name": "copy"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 8671,
                                        "end": 8674,
                                        "loc": {
                                          "start": {
                                            "line": 225,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 225,
                                            "column": 59
                                          },
                                          "identifierName": "pos"
                                        },
                                        "name": "pos"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8693,
                                  "end": 8752,
                                  "loc": {
                                    "start": {
                                      "line": 226,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 226,
                                      "column": 75
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8693,
                                    "end": 8751,
                                    "loc": {
                                      "start": {
                                        "line": 226,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 226,
                                        "column": 74
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8693,
                                      "end": 8728,
                                      "loc": {
                                        "start": {
                                          "line": 226,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 226,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 8693,
                                        "end": 8724,
                                        "loc": {
                                          "start": {
                                            "line": 226,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 226,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 8693,
                                          "end": 8718,
                                          "loc": {
                                            "start": {
                                              "line": 226,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 226,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 8693,
                                            "end": 8708,
                                            "loc": {
                                              "start": {
                                                "line": 226,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 226,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8693,
                                              "end": 8699,
                                              "loc": {
                                                "start": {
                                                  "line": 226,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 226,
                                                  "column": 22
                                                },
                                                "identifierName": "constr"
                                              },
                                              "name": "constr"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8700,
                                              "end": 8708,
                                              "loc": {
                                                "start": {
                                                  "line": 226,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 226,
                                                  "column": 31
                                                },
                                                "identifierName": "graphics"
                                              },
                                              "name": "graphics"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8709,
                                            "end": 8718,
                                            "loc": {
                                              "start": {
                                                "line": 226,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 226,
                                                "column": 41
                                              },
                                              "identifierName": "localMesh"
                                            },
                                            "name": "localMesh"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8719,
                                          "end": 8724,
                                          "loc": {
                                            "start": {
                                              "line": 226,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 226,
                                              "column": 47
                                            },
                                            "identifierName": "scale"
                                          },
                                          "name": "scale"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8725,
                                        "end": 8728,
                                        "loc": {
                                          "start": {
                                            "line": 226,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 226,
                                            "column": 51
                                          },
                                          "identifierName": "set"
                                        },
                                        "name": "set"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 8729,
                                        "end": 8737,
                                        "loc": {
                                          "start": {
                                            "line": 226,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 226,
                                            "column": 60
                                          },
                                          "identifierName": "iconSize"
                                        },
                                        "name": "iconSize"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 8739,
                                        "end": 8747,
                                        "loc": {
                                          "start": {
                                            "line": 226,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 226,
                                            "column": 70
                                          },
                                          "identifierName": "iconSize"
                                        },
                                        "name": "iconSize"
                                      },
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8749,
                                        "end": 8750,
                                        "loc": {
                                          "start": {
                                            "line": 226,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 226,
                                            "column": 73
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "set positions for all constraint icons",
                          "start": 8113,
                          "end": 8153,
                          "loc": {
                            "start": {
                              "line": 215,
                              "column": 8
                            },
                            "end": {
                              "line": 215,
                              "column": 48
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": "note: called before each frame is rendered",
                    "start": 3803,
                    "end": 3847,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 4
                      },
                      "end": {
                        "line": 119,
                        "column": 48
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "sets proper positions for all constraint graphics",
                    "start": 3852,
                    "end": 3903,
                    "loc": {
                      "start": {
                        "line": 120,
                        "column": 4
                      },
                      "end": {
                        "line": 120,
                        "column": 55
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 8788,
                "end": 9434,
                "loc": {
                  "start": {
                    "line": 231,
                    "column": 4
                  },
                  "end": {
                    "line": 246,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 8788,
                  "end": 8802,
                  "loc": {
                    "start": {
                      "line": 231,
                      "column": 4
                    },
                    "end": {
                      "line": 231,
                      "column": 18
                    },
                    "identifierName": "getKeyPosition"
                  },
                  "name": "getKeyPosition"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8803,
                    "end": 8809,
                    "loc": {
                      "start": {
                        "line": 231,
                        "column": 19
                      },
                      "end": {
                        "line": 231,
                        "column": 25
                      },
                      "identifierName": "entity"
                    },
                    "name": "entity"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8811,
                  "end": 9434,
                  "loc": {
                    "start": {
                      "line": 231,
                      "column": 27
                    },
                    "end": {
                      "line": 246,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 8821,
                      "end": 8896,
                      "loc": {
                        "start": {
                          "line": 232,
                          "column": 8
                        },
                        "end": {
                          "line": 232,
                          "column": 83
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 8825,
                        "end": 8852,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 12
                          },
                          "end": {
                            "line": 232,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 8825,
                          "end": 8839,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 12
                            },
                            "end": {
                              "line": 232,
                              "column": 26
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 8832,
                            "end": 8838,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 19
                              },
                              "end": {
                                "line": 232,
                                "column": 25
                              },
                              "identifierName": "entity"
                            },
                            "name": "entity",
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 8831
                            }
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 8844,
                          "end": 8852,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 31
                            },
                            "end": {
                              "line": 232,
                              "column": 39
                            }
                          },
                          "extra": {
                            "rawValue": "number",
                            "raw": "\"number\""
                          },
                          "value": "number"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 8854,
                        "end": 8896,
                        "loc": {
                          "start": {
                            "line": 232,
                            "column": 41
                          },
                          "end": {
                            "line": 232,
                            "column": 83
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 8854,
                          "end": 8895,
                          "loc": {
                            "start": {
                              "line": 232,
                              "column": 41
                            },
                            "end": {
                              "line": 232,
                              "column": 82
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 8854,
                            "end": 8860,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 41
                              },
                              "end": {
                                "line": 232,
                                "column": 47
                              },
                              "identifierName": "entity"
                            },
                            "name": "entity"
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 8863,
                            "end": 8895,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 50
                              },
                              "end": {
                                "line": 232,
                                "column": 82
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 8867,
                              "end": 8872,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 54
                                },
                                "end": {
                                  "line": 232,
                                  "column": 59
                                },
                                "identifierName": "Ccref"
                              },
                              "name": "Ccref"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 8873,
                                "end": 8886,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 73
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8873,
                                  "end": 8877,
                                  "loc": {
                                    "start": {
                                      "line": 232,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 232,
                                      "column": 64
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8878,
                                  "end": 8886,
                                  "loc": {
                                    "start": {
                                      "line": 232,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 232,
                                      "column": 73
                                    },
                                    "identifierName": "sketcher"
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              {
                                "type": "Identifier",
                                "start": 8888,
                                "end": 8894,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 232,
                                    "column": 81
                                  },
                                  "identifierName": "entity"
                                },
                                "name": "entity"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8905,
                      "end": 8934,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 8
                        },
                        "end": {
                          "line": 233,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8911,
                          "end": 8933,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 14
                            },
                            "end": {
                              "line": 233,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8911,
                            "end": 8913,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 14
                              },
                              "end": {
                                "line": 233,
                                "column": 16
                              },
                              "identifierName": "gp"
                            },
                            "name": "gp"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 8916,
                            "end": 8933,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 19
                              },
                              "end": {
                                "line": 233,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8916,
                              "end": 8922,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 19
                                },
                                "end": {
                                  "line": 233,
                                  "column": 25
                                },
                                "identifierName": "entity"
                              },
                              "name": "entity"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8923,
                              "end": 8933,
                              "loc": {
                                "start": {
                                  "line": 233,
                                  "column": 26
                                },
                                "end": {
                                  "line": 233,
                                  "column": 36
                                },
                                "identifierName": "geomParams"
                              },
                              "name": "geomParams"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "SwitchStatement",
                      "start": 8943,
                      "end": 9428,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 8
                        },
                        "end": {
                          "line": 245,
                          "column": 9
                        }
                      },
                      "discriminant": {
                        "type": "MemberExpression",
                        "start": 8951,
                        "end": 8963,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 16
                          },
                          "end": {
                            "line": 234,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 8951,
                          "end": 8957,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 16
                            },
                            "end": {
                              "line": 234,
                              "column": 22
                            },
                            "identifierName": "entity"
                          },
                          "name": "entity"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8958,
                          "end": 8963,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 23
                            },
                            "end": {
                              "line": 234,
                              "column": 28
                            },
                            "identifierName": "class"
                          },
                          "name": "class"
                        },
                        "computed": false
                      },
                      "cases": [
                        {
                          "type": "SwitchCase",
                          "start": 8979,
                          "end": 9036,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 12
                            },
                            "end": {
                              "line": 236,
                              "column": 40
                            }
                          },
                          "consequent": [
                            {
                              "type": "ReturnStatement",
                              "start": 9012,
                              "end": 9036,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 16
                                },
                                "end": {
                                  "line": 236,
                                  "column": 40
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 9019,
                                "end": 9035,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9019,
                                  "end": 9033,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9019,
                                    "end": 9027,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9019,
                                      "end": 9021,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 25
                                        },
                                        "identifierName": "gp"
                                      },
                                      "name": "gp"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9022,
                                      "end": 9027,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 31
                                        },
                                        "identifierName": "start"
                                      },
                                      "name": "start"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9028,
                                    "end": 9033,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 37
                                      },
                                      "identifierName": "clone"
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          ],
                          "test": {
                            "type": "StringLiteral",
                            "start": 8984,
                            "end": 8994,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 17
                              },
                              "end": {
                                "line": 235,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "CC_Point",
                              "raw": "'CC_Point'"
                            },
                            "value": "CC_Point"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 9049,
                          "end": 9143,
                          "loc": {
                            "start": {
                              "line": 237,
                              "column": 12
                            },
                            "end": {
                              "line": 238,
                              "column": 78
                            }
                          },
                          "consequent": [
                            {
                              "type": "ReturnStatement",
                              "start": 9081,
                              "end": 9143,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 16
                                },
                                "end": {
                                  "line": 238,
                                  "column": 78
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 9088,
                                "end": 9142,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9088,
                                  "end": 9119,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "NewExpression",
                                    "start": 9088,
                                    "end": 9107,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 42
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9092,
                                      "end": 9105,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9092,
                                        "end": 9097,
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 32
                                          },
                                          "identifierName": "THREE"
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9098,
                                        "end": 9105,
                                        "loc": {
                                          "start": {
                                            "line": 238,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 238,
                                            "column": 40
                                          },
                                          "identifierName": "Vector3"
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9108,
                                    "end": 9119,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 54
                                      },
                                      "identifierName": "lerpVectors"
                                    },
                                    "name": "lerpVectors"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9120,
                                    "end": 9128,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 63
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9120,
                                      "end": 9122,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 57
                                        },
                                        "identifierName": "gp"
                                      },
                                      "name": "gp"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9123,
                                      "end": 9128,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 63
                                        },
                                        "identifierName": "start"
                                      },
                                      "name": "start"
                                    },
                                    "computed": false
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 9130,
                                    "end": 9136,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 71
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9130,
                                      "end": 9132,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 67
                                        },
                                        "identifierName": "gp"
                                      },
                                      "name": "gp"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9133,
                                      "end": 9136,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 71
                                        },
                                        "identifierName": "end"
                                      },
                                      "name": "end"
                                    },
                                    "computed": false
                                  },
                                  {
                                    "type": "NumericLiteral",
                                    "start": 9138,
                                    "end": 9141,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 76
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0.5,
                                      "raw": "0.5"
                                    },
                                    "value": 0.5
                                  }
                                ]
                              }
                            }
                          ],
                          "test": {
                            "type": "StringLiteral",
                            "start": 9054,
                            "end": 9063,
                            "loc": {
                              "start": {
                                "line": 237,
                                "column": 17
                              },
                              "end": {
                                "line": 237,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "CC_Line",
                              "raw": "'CC_Line'"
                            },
                            "value": "CC_Line"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 9156,
                          "end": 9223,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 12
                            },
                            "end": {
                              "line": 240,
                              "column": 52
                            }
                          },
                          "consequent": [
                            {
                              "type": "ReturnStatement",
                              "start": 9187,
                              "end": 9223,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 16
                                },
                                "end": {
                                  "line": 240,
                                  "column": 52
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 9194,
                                "end": 9222,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9194,
                                  "end": 9220,
                                  "loc": {
                                    "start": {
                                      "line": 240,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 240,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9194,
                                    "end": 9214,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 43
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 9194,
                                      "end": 9210,
                                      "loc": {
                                        "start": {
                                          "line": 240,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 240,
                                          "column": 39
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 9194,
                                        "end": 9206,
                                        "loc": {
                                          "start": {
                                            "line": 240,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 240,
                                            "column": 35
                                          },
                                          "identifierName": "getArcAngles"
                                        },
                                        "name": "getArcAngles"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 9207,
                                          "end": 9209,
                                          "loc": {
                                            "start": {
                                              "line": 240,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 240,
                                              "column": 38
                                            },
                                            "identifierName": "gp"
                                          },
                                          "name": "gp"
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9211,
                                      "end": 9214,
                                      "loc": {
                                        "start": {
                                          "line": 240,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 240,
                                          "column": 43
                                        },
                                        "identifierName": "mid"
                                      },
                                      "name": "mid"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9215,
                                    "end": 9220,
                                    "loc": {
                                      "start": {
                                        "line": 240,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 240,
                                        "column": 49
                                      },
                                      "identifierName": "clone"
                                    },
                                    "name": "clone"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          ],
                          "test": {
                            "type": "StringLiteral",
                            "start": 9161,
                            "end": 9169,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 17
                              },
                              "end": {
                                "line": 239,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "CC_Arc",
                              "raw": "'CC_Arc'"
                            },
                            "value": "CC_Arc"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 9236,
                          "end": 9346,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 12
                            },
                            "end": {
                              "line": 242,
                              "column": 92
                            }
                          },
                          "consequent": [
                            {
                              "type": "ReturnStatement",
                              "start": 9270,
                              "end": 9346,
                              "loc": {
                                "start": {
                                  "line": 242,
                                  "column": 16
                                },
                                "end": {
                                  "line": 242,
                                  "column": 92
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 9277,
                                "end": 9345,
                                "loc": {
                                  "start": {
                                    "line": 242,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 242,
                                    "column": 91
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9277,
                                  "end": 9334,
                                  "loc": {
                                    "start": {
                                      "line": 242,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 242,
                                      "column": 80
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 9277,
                                    "end": 9330,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 76
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9277,
                                      "end": 9319,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "NewExpression",
                                        "start": 9277,
                                        "end": 9304,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 50
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 9281,
                                          "end": 9294,
                                          "loc": {
                                            "start": {
                                              "line": 242,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 242,
                                              "column": 40
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 9281,
                                            "end": 9286,
                                            "loc": {
                                              "start": {
                                                "line": 242,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 242,
                                                "column": 32
                                              },
                                              "identifierName": "THREE"
                                            },
                                            "name": "THREE"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 9287,
                                            "end": 9294,
                                            "loc": {
                                              "start": {
                                                "line": 242,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 242,
                                                "column": 40
                                              },
                                              "identifierName": "Vector3"
                                            },
                                            "name": "Vector3"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 9295,
                                            "end": 9298,
                                            "loc": {
                                              "start": {
                                                "line": 242,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 242,
                                                "column": 44
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0.6,
                                              "raw": "0.6"
                                            },
                                            "value": 0.6
                                          },
                                          {
                                            "type": "NumericLiteral",
                                            "start": 9300,
                                            "end": 9303,
                                            "loc": {
                                              "start": {
                                                "line": 242,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 242,
                                                "column": 49
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0.8,
                                              "raw": "0.8"
                                            },
                                            "value": 0.8
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9305,
                                        "end": 9319,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 65
                                          },
                                          "identifierName": "multiplyScalar"
                                        },
                                        "name": "multiplyScalar"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 9320,
                                        "end": 9329,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 75
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 9320,
                                          "end": 9322,
                                          "loc": {
                                            "start": {
                                              "line": 242,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 242,
                                              "column": 68
                                            },
                                            "identifierName": "gp"
                                          },
                                          "name": "gp"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9323,
                                          "end": 9329,
                                          "loc": {
                                            "start": {
                                              "line": 242,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 242,
                                              "column": 75
                                            },
                                            "identifierName": "radius"
                                          },
                                          "name": "radius"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9331,
                                    "end": 9334,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 77
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 80
                                      },
                                      "identifierName": "add"
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9335,
                                    "end": 9344,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 90
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9335,
                                      "end": 9337,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 83
                                        },
                                        "identifierName": "gp"
                                      },
                                      "name": "gp"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9338,
                                      "end": 9344,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 90
                                        },
                                        "identifierName": "center"
                                      },
                                      "name": "center"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "test": {
                            "type": "StringLiteral",
                            "start": 9241,
                            "end": 9252,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 17
                              },
                              "end": {
                                "line": 241,
                                "column": 28
                              }
                            },
                            "extra": {
                              "rawValue": "CC_Circle",
                              "raw": "'CC_Circle'"
                            },
                            "value": "CC_Circle"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 9359,
                          "end": 9418,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 12
                            },
                            "end": {
                              "line": 244,
                              "column": 50
                            }
                          },
                          "consequent": [
                            {
                              "type": "ReturnStatement",
                              "start": 9384,
                              "end": 9418,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 16
                                },
                                "end": {
                                  "line": 244,
                                  "column": 50
                                }
                              },
                              "argument": {
                                "type": "NewExpression",
                                "start": 9391,
                                "end": 9417,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 49
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9395,
                                  "end": 9408,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9395,
                                    "end": 9400,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 32
                                      },
                                      "identifierName": "THREE"
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9401,
                                    "end": 9408,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 40
                                      },
                                      "identifierName": "Vector3"
                                    },
                                    "name": "Vector3"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 9409,
                                    "end": 9410,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 42
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  },
                                  {
                                    "type": "NumericLiteral",
                                    "start": 9412,
                                    "end": 9413,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 45
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  },
                                  {
                                    "type": "NumericLiteral",
                                    "start": 9415,
                                    "end": 9416,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 48
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                ]
                              }
                            }
                          ],
                          "test": null
                        }
                      ]
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 9440,
                "end": 9903,
                "loc": {
                  "start": {
                    "line": 248,
                    "column": 4
                  },
                  "end": {
                    "line": 260,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 9440,
                  "end": 9455,
                  "loc": {
                    "start": {
                      "line": 248,
                      "column": 4
                    },
                    "end": {
                      "line": 248,
                      "column": 19
                    },
                    "identifierName": "getBaseEntityId"
                  },
                  "name": "getBaseEntityId"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9456,
                    "end": 9466,
                    "loc": {
                      "start": {
                        "line": 248,
                        "column": 20
                      },
                      "end": {
                        "line": 248,
                        "column": 30
                      },
                      "identifierName": "constraint"
                    },
                    "name": "constraint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9468,
                  "end": 9903,
                  "loc": {
                    "start": {
                      "line": 248,
                      "column": 32
                    },
                    "end": {
                      "line": 260,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9478,
                      "end": 9565,
                      "loc": {
                        "start": {
                          "line": 249,
                          "column": 8
                        },
                        "end": {
                          "line": 249,
                          "column": 95
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9482,
                        "end": 9513,
                        "loc": {
                          "start": {
                            "line": 249,
                            "column": 12
                          },
                          "end": {
                            "line": 249,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 9482,
                          "end": 9500,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 12
                            },
                            "end": {
                              "line": 249,
                              "column": 30
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 9489,
                            "end": 9499,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 19
                              },
                              "end": {
                                "line": 249,
                                "column": 29
                              },
                              "identifierName": "constraint"
                            },
                            "name": "constraint",
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 9488
                            }
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 9505,
                          "end": 9513,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 35
                            },
                            "end": {
                              "line": 249,
                              "column": 43
                            }
                          },
                          "extra": {
                            "rawValue": "number",
                            "raw": "\"number\""
                          },
                          "value": "number"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9515,
                        "end": 9565,
                        "loc": {
                          "start": {
                            "line": 249,
                            "column": 45
                          },
                          "end": {
                            "line": 249,
                            "column": 95
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 9515,
                          "end": 9564,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 45
                            },
                            "end": {
                              "line": 249,
                              "column": 94
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 9515,
                            "end": 9525,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 45
                              },
                              "end": {
                                "line": 249,
                                "column": 55
                              },
                              "identifierName": "constraint"
                            },
                            "name": "constraint"
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 9528,
                            "end": 9564,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 58
                              },
                              "end": {
                                "line": 249,
                                "column": 94
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 9532,
                              "end": 9537,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 62
                                },
                                "end": {
                                  "line": 249,
                                  "column": 67
                                },
                                "identifierName": "Ccref"
                              },
                              "name": "Ccref"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9538,
                                "end": 9551,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 68
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 81
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9538,
                                  "end": 9542,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 72
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9543,
                                  "end": 9551,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 81
                                    },
                                    "identifierName": "sketcher"
                                  },
                                  "name": "sketcher"
                                },
                                "computed": false
                              },
                              {
                                "type": "Identifier",
                                "start": 9553,
                                "end": 9563,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 93
                                  },
                                  "identifierName": "constraint"
                                },
                                "name": "constraint"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9575,
                      "end": 9623,
                      "loc": {
                        "start": {
                          "line": 251,
                          "column": 8
                        },
                        "end": {
                          "line": 251,
                          "column": 56
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9579,
                          "end": 9622,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 12
                            },
                            "end": {
                              "line": 251,
                              "column": 55
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9579,
                            "end": 9582,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 12
                              },
                              "end": {
                                "line": 251,
                                "column": 15
                              },
                              "identifierName": "res"
                            },
                            "name": "res"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 9585,
                            "end": 9622,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 18
                              },
                              "end": {
                                "line": 251,
                                "column": 55
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9585,
                              "end": 9607,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 18
                                },
                                "end": {
                                  "line": 251,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 9585,
                                "end": 9603,
                                "loc": {
                                  "start": {
                                    "line": 251,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 9585,
                                  "end": 9589,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 251,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9590,
                                  "end": 9603,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 251,
                                      "column": 36
                                    },
                                    "identifierName": "baseEntityFor"
                                  },
                                  "name": "baseEntityFor"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9604,
                                "end": 9607,
                                "loc": {
                                  "start": {
                                    "line": 251,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 40
                                  },
                                  "identifierName": "get"
                                },
                                "name": "get"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9608,
                                "end": 9621,
                                "loc": {
                                  "start": {
                                    "line": 251,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9608,
                                  "end": 9618,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 251,
                                      "column": 51
                                    },
                                    "identifierName": "constraint"
                                  },
                                  "name": "constraint"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9619,
                                  "end": 9621,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 251,
                                      "column": 54
                                    },
                                    "identifierName": "id"
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 9632,
                      "end": 9678,
                      "loc": {
                        "start": {
                          "line": 252,
                          "column": 8
                        },
                        "end": {
                          "line": 253,
                          "column": 23
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9636,
                        "end": 9653,
                        "loc": {
                          "start": {
                            "line": 252,
                            "column": 12
                          },
                          "end": {
                            "line": 252,
                            "column": 29
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 9636,
                          "end": 9639,
                          "loc": {
                            "start": {
                              "line": 252,
                              "column": 12
                            },
                            "end": {
                              "line": 252,
                              "column": 15
                            },
                            "identifierName": "res"
                          },
                          "name": "res"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "Identifier",
                          "start": 9644,
                          "end": 9653,
                          "loc": {
                            "start": {
                              "line": 252,
                              "column": 20
                            },
                            "end": {
                              "line": 252,
                              "column": 29
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 9667,
                        "end": 9678,
                        "loc": {
                          "start": {
                            "line": 253,
                            "column": 12
                          },
                          "end": {
                            "line": 253,
                            "column": 23
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 9674,
                          "end": 9677,
                          "loc": {
                            "start": {
                              "line": 253,
                              "column": 19
                            },
                            "end": {
                              "line": 253,
                              "column": 22
                            },
                            "identifierName": "res"
                          },
                          "name": "res"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 9688,
                      "end": 9854,
                      "loc": {
                        "start": {
                          "line": 255,
                          "column": 8
                        },
                        "end": {
                          "line": 257,
                          "column": 33
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 9693,
                        "end": 9703,
                        "loc": {
                          "start": {
                            "line": 255,
                            "column": 13
                          },
                          "end": {
                            "line": 255,
                            "column": 23
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9697,
                            "end": 9703,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 17
                              },
                              "end": {
                                "line": 255,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9697,
                              "end": 9703,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 17
                                },
                                "end": {
                                  "line": 255,
                                  "column": 23
                                },
                                "identifierName": "entity"
                              },
                              "name": "entity"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 9707,
                        "end": 9726,
                        "loc": {
                          "start": {
                            "line": 255,
                            "column": 27
                          },
                          "end": {
                            "line": 255,
                            "column": 46
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 9707,
                          "end": 9717,
                          "loc": {
                            "start": {
                              "line": 255,
                              "column": 27
                            },
                            "end": {
                              "line": 255,
                              "column": 37
                            },
                            "identifierName": "constraint"
                          },
                          "name": "constraint"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9718,
                          "end": 9726,
                          "loc": {
                            "start": {
                              "line": 255,
                              "column": 38
                            },
                            "end": {
                              "line": 255,
                              "column": 46
                            },
                            "identifierName": "entities"
                          },
                          "name": "entities"
                        },
                        "computed": false
                      },
                      "body": {
                        "type": "IfStatement",
                        "start": 9740,
                        "end": 9854,
                        "loc": {
                          "start": {
                            "line": 256,
                            "column": 12
                          },
                          "end": {
                            "line": 257,
                            "column": 33
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 9744,
                          "end": 9819,
                          "loc": {
                            "start": {
                              "line": 256,
                              "column": 16
                            },
                            "end": {
                              "line": 256,
                              "column": 91
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 9744,
                            "end": 9812,
                            "loc": {
                              "start": {
                                "line": 256,
                                "column": 16
                              },
                              "end": {
                                "line": 256,
                                "column": 84
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9744,
                              "end": 9798,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 16
                                },
                                "end": {
                                  "line": 256,
                                  "column": 70
                                }
                              },
                              "object": {
                                "type": "ArrayExpression",
                                "start": 9744,
                                "end": 9790,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 62
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 9745,
                                    "end": 9755,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 27
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "CC_Point",
                                      "raw": "'CC_Point'"
                                    },
                                    "value": "CC_Point"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 9757,
                                    "end": 9766,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 38
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "CC_Line",
                                      "raw": "'CC_Line'"
                                    },
                                    "value": "CC_Line"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 9768,
                                    "end": 9776,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 48
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "CC_Arc",
                                      "raw": "'CC_Arc'"
                                    },
                                    "value": "CC_Arc"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 9778,
                                    "end": 9789,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 61
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "CC_Circle",
                                      "raw": "'CC_Circle'"
                                    },
                                    "value": "CC_Circle"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9791,
                                "end": 9798,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 70
                                  },
                                  "identifierName": "indexOf"
                                },
                                "name": "indexOf"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9799,
                                "end": 9811,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 83
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9799,
                                  "end": 9805,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 77
                                    },
                                    "identifierName": "entity"
                                  },
                                  "name": "entity"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9806,
                                  "end": 9811,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 83
                                    },
                                    "identifierName": "class"
                                  },
                                  "name": "class"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "operator": "!==",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 9817,
                            "end": 9819,
                            "loc": {
                              "start": {
                                "line": 256,
                                "column": 89
                              },
                              "end": {
                                "line": 256,
                                "column": 91
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "NumericLiteral",
                              "start": 9818,
                              "end": 9819,
                              "loc": {
                                "start": {
                                  "line": 256,
                                  "column": 90
                                },
                                "end": {
                                  "line": 256,
                                  "column": 91
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 9837,
                          "end": 9854,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 16
                            },
                            "end": {
                              "line": 257,
                              "column": 33
                            }
                          },
                          "argument": {
                            "type": "MemberExpression",
                            "start": 9844,
                            "end": 9853,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 23
                              },
                              "end": {
                                "line": 257,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9844,
                              "end": 9850,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 23
                                },
                                "end": {
                                  "line": 257,
                                  "column": 29
                                },
                                "identifierName": "entity"
                              },
                              "name": "entity"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9851,
                              "end": 9853,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 30
                                },
                                "end": {
                                  "line": 257,
                                  "column": 32
                                },
                                "identifierName": "id"
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        },
                        "alternate": null
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 9864,
                      "end": 9897,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 259,
                          "column": 41
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 9871,
                        "end": 9896,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 15
                          },
                          "end": {
                            "line": 259,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 9871,
                          "end": 9893,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 15
                            },
                            "end": {
                              "line": 259,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9871,
                            "end": 9890,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 15
                              },
                              "end": {
                                "line": 259,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9871,
                              "end": 9881,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 15
                                },
                                "end": {
                                  "line": 259,
                                  "column": 25
                                },
                                "identifierName": "constraint"
                              },
                              "name": "constraint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9882,
                              "end": 9890,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 26
                                },
                                "end": {
                                  "line": 259,
                                  "column": 34
                                },
                                "identifierName": "entities"
                              },
                              "name": "entities"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "NumericLiteral",
                            "start": 9891,
                            "end": 9892,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 35
                              },
                              "end": {
                                "line": 259,
                                "column": 36
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          "computed": true
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9894,
                          "end": 9896,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 38
                            },
                            "end": {
                              "line": 259,
                              "column": 40
                            },
                            "identifierName": "id"
                          },
                          "name": "id"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " Set of constraint ids to avoid iterating and filtering sketch.children",
      "start": 555,
      "end": 628,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Reverse mapping from entities to constraints",
      "start": 675,
      "end": 722,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " For each constraint, its based entity is stored (where icon is rendered)",
      "start": 767,
      "end": 842,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 83
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " If set to true, constraints would be repositioned next frame",
      "start": 891,
      "end": 954,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 71
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: we forbid hiding selected constraints",
      "start": 1334,
      "end": 1379,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 53
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: must be called if constraint has changed",
      "start": 2548,
      "end": 2596,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 52
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: must be called if entity of constraint has changed",
      "start": 2666,
      "end": 2724,
      "loc": {
        "start": {
          "line": 80,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 62
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " do nothing",
      "start": 3353,
      "end": 3366,
      "loc": {
        "start": {
          "line": 101,
          "column": 8
        },
        "end": {
          "line": 101,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "called when constraint visualizer mode changes + on init",
      "start": 3565,
      "end": 3623,
      "loc": {
        "start": {
          "line": 111,
          "column": 4
        },
        "end": {
          "line": 111,
          "column": 62
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: called before each frame is rendered",
      "start": 3803,
      "end": 3847,
      "loc": {
        "start": {
          "line": 119,
          "column": 4
        },
        "end": {
          "line": 119,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "sets proper positions for all constraint graphics",
      "start": 3852,
      "end": 3903,
      "loc": {
        "start": {
          "line": 120,
          "column": 4
        },
        "end": {
          "line": 120,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "determine for each base entity the array of all constraints drawn near it",
      "start": 4074,
      "end": 4149,
      "loc": {
        "start": {
          "line": 127,
          "column": 8
        },
        "end": {
          "line": 127,
          "column": 83
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "create rectangle filled with constraints icons for each base entity",
      "start": 4647,
      "end": 4716,
      "loc": {
        "start": {
          "line": 142,
          "column": 8
        },
        "end": {
          "line": 142,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "sort base entities (for stability)",
      "start": 4959,
      "end": 4995,
      "loc": {
        "start": {
          "line": 150,
          "column": 8
        },
        "end": {
          "line": 150,
          "column": 44
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "minimal distance between rectangles (in iconSize units)",
      "start": 5085,
      "end": 5142,
      "loc": {
        "start": {
          "line": 155,
          "column": 8
        },
        "end": {
          "line": 155,
          "column": 65
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "minimal vertical distance from key position to rectangle's center (in iconSize units)",
      "start": 5179,
      "end": 5266,
      "loc": {
        "start": {
          "line": 157,
          "column": 8
        },
        "end": {
          "line": 157,
          "column": 95
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "set positions for all entity lists (each one is rectangle)",
      "start": 5309,
      "end": 5369,
      "loc": {
        "start": {
          "line": 160,
          "column": 8
        },
        "end": {
          "line": 160,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "position of rectangle center, which is closest to key point",
      "start": 5478,
      "end": 5539,
      "loc": {
        "start": {
          "line": 164,
          "column": 12
        },
        "end": {
          "line": 164,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "try to put into the vertical slice:",
      "start": 5751,
      "end": 5788,
      "loc": {
        "start": {
          "line": 171,
          "column": 20
        },
        "end": {
          "line": 171,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "loop termination criterion",
      "start": 5907,
      "end": 5935,
      "loc": {
        "start": {
          "line": 173,
          "column": 20
        },
        "end": {
          "line": 173,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "try both direction for horizontal moving",
      "start": 6074,
      "end": 6116,
      "loc": {
        "start": {
          "line": 177,
          "column": 20
        },
        "end": {
          "line": 177,
          "column": 62
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "check if rectangles collide",
      "start": 6455,
      "end": 6484,
      "loc": {
        "start": {
          "line": 185,
          "column": 32
        },
        "end": {
          "line": 185,
          "column": 61
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "do minimal horizontal movement which avoids collision",
      "start": 6850,
      "end": 6905,
      "loc": {
        "start": {
          "line": 190,
          "column": 32
        },
        "end": {
          "line": 190,
          "column": 87
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: if something has moved, then we have to recheck everything for collisions",
      "start": 7333,
      "end": 7414,
      "loc": {
        "start": {
          "line": 197,
          "column": 28
        },
        "end": {
          "line": 197,
          "column": 109
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "early cutoff: if no horizontal movement happened",
      "start": 7758,
      "end": 7808,
      "loc": {
        "start": {
          "line": 205,
          "column": 24
        },
        "end": {
          "line": 205,
          "column": 74
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "place rectangle into found position (not changed later)",
      "start": 7969,
      "end": 8026,
      "loc": {
        "start": {
          "line": 211,
          "column": 12
        },
        "end": {
          "line": 211,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "set positions for all constraint icons",
      "start": 8113,
      "end": 8153,
      "loc": {
        "start": {
          "line": 215,
          "column": 8
        },
        "end": {
          "line": 215,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "sort constraint lists (for stability)",
      "start": 8268,
      "end": 8307,
      "loc": {
        "start": {
          "line": 218,
          "column": 12
        },
        "end": {
          "line": 218,
          "column": 51
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "as",
      "start": 9,
      "end": 11,
      "loc": {
        "start": {
          "line": 1,
          "column": 9
        },
        "end": {
          "line": 1,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 12,
      "end": 17,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 18,
      "end": 22,
      "loc": {
        "start": {
          "line": 1,
          "column": 18
        },
        "end": {
          "line": 1,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "three",
      "start": 23,
      "end": 30,
      "loc": {
        "start": {
          "line": 1,
          "column": 23
        },
        "end": {
          "line": 1,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 30,
      "end": 31,
      "loc": {
        "start": {
          "line": 1,
          "column": 30
        },
        "end": {
          "line": 1,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 32,
      "end": 38,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object3",
      "start": 39,
      "end": 46,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 47,
      "end": 51,
      "loc": {
        "start": {
          "line": 2,
          "column": 15
        },
        "end": {
          "line": 2,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../../../three/object3",
      "start": 52,
      "end": 76,
      "loc": {
        "start": {
          "line": 2,
          "column": 20
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 76,
      "end": 77,
      "loc": {
        "start": {
          "line": 2,
          "column": 44
        },
        "end": {
          "line": 2,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 78,
      "end": 84,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 85,
      "end": 90,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 91,
      "end": 95,
      "loc": {
        "start": {
          "line": 3,
          "column": 13
        },
        "end": {
          "line": 3,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../ccref",
      "start": 96,
      "end": 106,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 106,
      "end": 107,
      "loc": {
        "start": {
          "line": 3,
          "column": 28
        },
        "end": {
          "line": 3,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 108,
      "end": 114,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 115,
      "end": 116,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getArcAngles",
      "start": 117,
      "end": 129,
      "loc": {
        "start": {
          "line": 4,
          "column": 9
        },
        "end": {
          "line": 4,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 130,
      "end": 131,
      "loc": {
        "start": {
          "line": 4,
          "column": 22
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 132,
      "end": 136,
      "loc": {
        "start": {
          "line": 4,
          "column": 24
        },
        "end": {
          "line": 4,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../geomutils",
      "start": 137,
      "end": 151,
      "loc": {
        "start": {
          "line": 4,
          "column": 29
        },
        "end": {
          "line": 4,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 151,
      "end": 152,
      "loc": {
        "start": {
          "line": 4,
          "column": 43
        },
        "end": {
          "line": 4,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 153,
      "end": 159,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ConstraintGraphics",
      "start": 160,
      "end": 178,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 179,
      "end": 183,
      "loc": {
        "start": {
          "line": 5,
          "column": 26
        },
        "end": {
          "line": 5,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../graphics/constraint",
      "start": 184,
      "end": 208,
      "loc": {
        "start": {
          "line": 5,
          "column": 31
        },
        "end": {
          "line": 5,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 208,
      "end": 209,
      "loc": {
        "start": {
          "line": 5,
          "column": 55
        },
        "end": {
          "line": 5,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 211,
      "end": 216,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Mode",
      "start": 217,
      "end": 221,
      "loc": {
        "start": {
          "line": 7,
          "column": 6
        },
        "end": {
          "line": 7,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 222,
      "end": 223,
      "loc": {
        "start": {
          "line": 7,
          "column": 11
        },
        "end": {
          "line": 7,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 224,
      "end": 230,
      "loc": {
        "start": {
          "line": 7,
          "column": 13
        },
        "end": {
          "line": 7,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 230,
      "end": 231,
      "loc": {
        "start": {
          "line": 7,
          "column": 19
        },
        "end": {
          "line": 7,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "freeze",
      "start": 231,
      "end": 237,
      "loc": {
        "start": {
          "line": 7,
          "column": 20
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 237,
      "end": 238,
      "loc": {
        "start": {
          "line": 7,
          "column": 26
        },
        "end": {
          "line": 7,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 238,
      "end": 239,
      "loc": {
        "start": {
          "line": 7,
          "column": 27
        },
        "end": {
          "line": 7,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Never",
      "start": 244,
      "end": 249,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 249,
      "end": 250,
      "loc": {
        "start": {
          "line": 8,
          "column": 9
        },
        "end": {
          "line": 8,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 251,
      "end": 252,
      "loc": {
        "start": {
          "line": 8,
          "column": 11
        },
        "end": {
          "line": 8,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 252,
      "end": 253,
      "loc": {
        "start": {
          "line": 8,
          "column": 12
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hover",
      "start": 258,
      "end": 263,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 9,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 263,
      "end": 264,
      "loc": {
        "start": {
          "line": 9,
          "column": 9
        },
        "end": {
          "line": 9,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 265,
      "end": 266,
      "loc": {
        "start": {
          "line": 9,
          "column": 11
        },
        "end": {
          "line": 9,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 266,
      "end": 267,
      "loc": {
        "start": {
          "line": 9,
          "column": 12
        },
        "end": {
          "line": 9,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Always",
      "start": 272,
      "end": 278,
      "loc": {
        "start": {
          "line": 10,
          "column": 4
        },
        "end": {
          "line": 10,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 278,
      "end": 279,
      "loc": {
        "start": {
          "line": 10,
          "column": 10
        },
        "end": {
          "line": 10,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 280,
      "end": 281,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 281,
      "end": 282,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 283,
      "end": 284,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 284,
      "end": 285,
      "loc": {
        "start": {
          "line": 11,
          "column": 1
        },
        "end": {
          "line": 11,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 285,
      "end": 286,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 288,
      "end": 296,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "uniNorm2",
      "start": 297,
      "end": 305,
      "loc": {
        "start": {
          "line": 13,
          "column": 9
        },
        "end": {
          "line": 13,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 305,
      "end": 306,
      "loc": {
        "start": {
          "line": 13,
          "column": 17
        },
        "end": {
          "line": 13,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vec",
      "start": 306,
      "end": 309,
      "loc": {
        "start": {
          "line": 13,
          "column": 18
        },
        "end": {
          "line": 13,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 309,
      "end": 310,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 311,
      "end": 312,
      "loc": {
        "start": {
          "line": 13,
          "column": 23
        },
        "end": {
          "line": 13,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 317,
      "end": 323,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 14,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Math",
      "start": 324,
      "end": 328,
      "loc": {
        "start": {
          "line": 14,
          "column": 11
        },
        "end": {
          "line": 14,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 328,
      "end": 329,
      "loc": {
        "start": {
          "line": 14,
          "column": 15
        },
        "end": {
          "line": 14,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "max",
      "start": 329,
      "end": 332,
      "loc": {
        "start": {
          "line": 14,
          "column": 16
        },
        "end": {
          "line": 14,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 332,
      "end": 333,
      "loc": {
        "start": {
          "line": 14,
          "column": 19
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Math",
      "start": 333,
      "end": 337,
      "loc": {
        "start": {
          "line": 14,
          "column": 20
        },
        "end": {
          "line": 14,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 337,
      "end": 338,
      "loc": {
        "start": {
          "line": 14,
          "column": 24
        },
        "end": {
          "line": 14,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "abs",
      "start": 338,
      "end": 341,
      "loc": {
        "start": {
          "line": 14,
          "column": 25
        },
        "end": {
          "line": 14,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 341,
      "end": 342,
      "loc": {
        "start": {
          "line": 14,
          "column": 28
        },
        "end": {
          "line": 14,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vec",
      "start": 342,
      "end": 345,
      "loc": {
        "start": {
          "line": 14,
          "column": 29
        },
        "end": {
          "line": 14,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 345,
      "end": 346,
      "loc": {
        "start": {
          "line": 14,
          "column": 32
        },
        "end": {
          "line": 14,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 346,
      "end": 347,
      "loc": {
        "start": {
          "line": 14,
          "column": 33
        },
        "end": {
          "line": 14,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 347,
      "end": 348,
      "loc": {
        "start": {
          "line": 14,
          "column": 34
        },
        "end": {
          "line": 14,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 348,
      "end": 349,
      "loc": {
        "start": {
          "line": 14,
          "column": 35
        },
        "end": {
          "line": 14,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Math",
      "start": 350,
      "end": 354,
      "loc": {
        "start": {
          "line": 14,
          "column": 37
        },
        "end": {
          "line": 14,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 354,
      "end": 355,
      "loc": {
        "start": {
          "line": 14,
          "column": 41
        },
        "end": {
          "line": 14,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "abs",
      "start": 355,
      "end": 358,
      "loc": {
        "start": {
          "line": 14,
          "column": 42
        },
        "end": {
          "line": 14,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 358,
      "end": 359,
      "loc": {
        "start": {
          "line": 14,
          "column": 45
        },
        "end": {
          "line": 14,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vec",
      "start": 359,
      "end": 362,
      "loc": {
        "start": {
          "line": 14,
          "column": 46
        },
        "end": {
          "line": 14,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 362,
      "end": 363,
      "loc": {
        "start": {
          "line": 14,
          "column": 49
        },
        "end": {
          "line": 14,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "y",
      "start": 363,
      "end": 364,
      "loc": {
        "start": {
          "line": 14,
          "column": 50
        },
        "end": {
          "line": 14,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 364,
      "end": 365,
      "loc": {
        "start": {
          "line": 14,
          "column": 51
        },
        "end": {
          "line": 14,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 365,
      "end": 366,
      "loc": {
        "start": {
          "line": 14,
          "column": 52
        },
        "end": {
          "line": 14,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 366,
      "end": 367,
      "loc": {
        "start": {
          "line": 14,
          "column": 53
        },
        "end": {
          "line": 14,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 368,
      "end": 369,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 370,
      "end": 378,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sqr",
      "start": 379,
      "end": 382,
      "loc": {
        "start": {
          "line": 16,
          "column": 9
        },
        "end": {
          "line": 16,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 382,
      "end": 383,
      "loc": {
        "start": {
          "line": 16,
          "column": 12
        },
        "end": {
          "line": 16,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 383,
      "end": 384,
      "loc": {
        "start": {
          "line": 16,
          "column": 13
        },
        "end": {
          "line": 16,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 384,
      "end": 385,
      "loc": {
        "start": {
          "line": 16,
          "column": 14
        },
        "end": {
          "line": 16,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 386,
      "end": 387,
      "loc": {
        "start": {
          "line": 16,
          "column": 16
        },
        "end": {
          "line": 16,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 392,
      "end": 398,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 399,
      "end": 400,
      "loc": {
        "start": {
          "line": 17,
          "column": 11
        },
        "end": {
          "line": 17,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 401,
      "end": 402,
      "loc": {
        "start": {
          "line": 17,
          "column": 13
        },
        "end": {
          "line": 17,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 403,
      "end": 404,
      "loc": {
        "start": {
          "line": 17,
          "column": 15
        },
        "end": {
          "line": 17,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 404,
      "end": 405,
      "loc": {
        "start": {
          "line": 17,
          "column": 16
        },
        "end": {
          "line": 17,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 406,
      "end": 407,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 409,
      "end": 415,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 416,
      "end": 423,
      "loc": {
        "start": {
          "line": 20,
          "column": 7
        },
        "end": {
          "line": 20,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 424,
      "end": 429,
      "loc": {
        "start": {
          "line": 20,
          "column": 15
        },
        "end": {
          "line": 20,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Visualizer",
      "start": 430,
      "end": 440,
      "loc": {
        "start": {
          "line": 20,
          "column": 21
        },
        "end": {
          "line": 20,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 441,
      "end": 442,
      "loc": {
        "start": {
          "line": 20,
          "column": 32
        },
        "end": {
          "line": 20,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 447,
      "end": 458,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 21,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 458,
      "end": 459,
      "loc": {
        "start": {
          "line": 21,
          "column": 15
        },
        "end": {
          "line": 21,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 459,
      "end": 467,
      "loc": {
        "start": {
          "line": 21,
          "column": 16
        },
        "end": {
          "line": 21,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 467,
      "end": 468,
      "loc": {
        "start": {
          "line": 21,
          "column": 24
        },
        "end": {
          "line": 21,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "textures",
      "start": 469,
      "end": 477,
      "loc": {
        "start": {
          "line": 21,
          "column": 26
        },
        "end": {
          "line": 21,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 477,
      "end": 478,
      "loc": {
        "start": {
          "line": 21,
          "column": 34
        },
        "end": {
          "line": 21,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 479,
      "end": 480,
      "loc": {
        "start": {
          "line": 21,
          "column": 36
        },
        "end": {
          "line": 21,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 489,
      "end": 493,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 493,
      "end": 494,
      "loc": {
        "start": {
          "line": 22,
          "column": 12
        },
        "end": {
          "line": 22,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 494,
      "end": 498,
      "loc": {
        "start": {
          "line": 22,
          "column": 13
        },
        "end": {
          "line": 22,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 499,
      "end": 500,
      "loc": {
        "start": {
          "line": 22,
          "column": 18
        },
        "end": {
          "line": 22,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Mode",
      "start": 501,
      "end": 505,
      "loc": {
        "start": {
          "line": 22,
          "column": 20
        },
        "end": {
          "line": 22,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 505,
      "end": 506,
      "loc": {
        "start": {
          "line": 22,
          "column": 24
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hover",
      "start": 506,
      "end": 511,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 511,
      "end": 512,
      "loc": {
        "start": {
          "line": 22,
          "column": 30
        },
        "end": {
          "line": 22,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 521,
      "end": 525,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 525,
      "end": 526,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 526,
      "end": 534,
      "loc": {
        "start": {
          "line": 23,
          "column": 13
        },
        "end": {
          "line": 23,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 535,
      "end": 536,
      "loc": {
        "start": {
          "line": 23,
          "column": 22
        },
        "end": {
          "line": 23,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 537,
      "end": 545,
      "loc": {
        "start": {
          "line": 23,
          "column": 24
        },
        "end": {
          "line": 23,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 545,
      "end": 546,
      "loc": {
        "start": {
          "line": 23,
          "column": 32
        },
        "end": {
          "line": 23,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Set of constraint ids to avoid iterating and filtering sketch.children",
      "start": 555,
      "end": 628,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 637,
      "end": 641,
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 641,
      "end": 642,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 642,
      "end": 653,
      "loc": {
        "start": {
          "line": 25,
          "column": 13
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 654,
      "end": 655,
      "loc": {
        "start": {
          "line": 25,
          "column": 25
        },
        "end": {
          "line": 25,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 656,
      "end": 659,
      "loc": {
        "start": {
          "line": 25,
          "column": 27
        },
        "end": {
          "line": 25,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Set",
      "start": 660,
      "end": 663,
      "loc": {
        "start": {
          "line": 25,
          "column": 31
        },
        "end": {
          "line": 25,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 663,
      "end": 664,
      "loc": {
        "start": {
          "line": 25,
          "column": 34
        },
        "end": {
          "line": 25,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 664,
      "end": 665,
      "loc": {
        "start": {
          "line": 25,
          "column": 35
        },
        "end": {
          "line": 25,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 665,
      "end": 666,
      "loc": {
        "start": {
          "line": 25,
          "column": 36
        },
        "end": {
          "line": 25,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Reverse mapping from entities to constraints",
      "start": 675,
      "end": 722,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 731,
      "end": 735,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 735,
      "end": 736,
      "loc": {
        "start": {
          "line": 27,
          "column": 12
        },
        "end": {
          "line": 27,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 736,
      "end": 745,
      "loc": {
        "start": {
          "line": 27,
          "column": 13
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 746,
      "end": 747,
      "loc": {
        "start": {
          "line": 27,
          "column": 23
        },
        "end": {
          "line": 27,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 748,
      "end": 751,
      "loc": {
        "start": {
          "line": 27,
          "column": 25
        },
        "end": {
          "line": 27,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Map",
      "start": 752,
      "end": 755,
      "loc": {
        "start": {
          "line": 27,
          "column": 29
        },
        "end": {
          "line": 27,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 755,
      "end": 756,
      "loc": {
        "start": {
          "line": 27,
          "column": 32
        },
        "end": {
          "line": 27,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 756,
      "end": 757,
      "loc": {
        "start": {
          "line": 27,
          "column": 33
        },
        "end": {
          "line": 27,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 757,
      "end": 758,
      "loc": {
        "start": {
          "line": 27,
          "column": 34
        },
        "end": {
          "line": 27,
          "column": 35
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " For each constraint, its based entity is stored (where icon is rendered)",
      "start": 767,
      "end": 842,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 851,
      "end": 855,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 855,
      "end": 856,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseEntityFor",
      "start": 856,
      "end": 869,
      "loc": {
        "start": {
          "line": 29,
          "column": 13
        },
        "end": {
          "line": 29,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 870,
      "end": 871,
      "loc": {
        "start": {
          "line": 29,
          "column": 27
        },
        "end": {
          "line": 29,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 872,
      "end": 875,
      "loc": {
        "start": {
          "line": 29,
          "column": 29
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Map",
      "start": 876,
      "end": 879,
      "loc": {
        "start": {
          "line": 29,
          "column": 33
        },
        "end": {
          "line": 29,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 879,
      "end": 880,
      "loc": {
        "start": {
          "line": 29,
          "column": 36
        },
        "end": {
          "line": 29,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 880,
      "end": 881,
      "loc": {
        "start": {
          "line": 29,
          "column": 37
        },
        "end": {
          "line": 29,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 881,
      "end": 882,
      "loc": {
        "start": {
          "line": 29,
          "column": 38
        },
        "end": {
          "line": 29,
          "column": 39
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " If set to true, constraints would be repositioned next frame",
      "start": 891,
      "end": 954,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 963,
      "end": 967,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 967,
      "end": 968,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphicsDirty",
      "start": 968,
      "end": 981,
      "loc": {
        "start": {
          "line": 31,
          "column": 13
        },
        "end": {
          "line": 31,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 982,
      "end": 983,
      "loc": {
        "start": {
          "line": 31,
          "column": 27
        },
        "end": {
          "line": 31,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 984,
      "end": 989,
      "loc": {
        "start": {
          "line": 31,
          "column": 29
        },
        "end": {
          "line": 31,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 989,
      "end": 990,
      "loc": {
        "start": {
          "line": 31,
          "column": 34
        },
        "end": {
          "line": 31,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 995,
      "end": 996,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 1002,
      "end": 1009,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1009,
      "end": 1010,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1012,
      "end": 1013,
      "loc": {
        "start": {
          "line": 34,
          "column": 14
        },
        "end": {
          "line": 34,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1022,
      "end": 1026,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1026,
      "end": 1027,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphicsDirty",
      "start": 1027,
      "end": 1040,
      "loc": {
        "start": {
          "line": 35,
          "column": 13
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1041,
      "end": 1042,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1043,
      "end": 1047,
      "loc": {
        "start": {
          "line": 35,
          "column": 29
        },
        "end": {
          "line": 35,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1047,
      "end": 1048,
      "loc": {
        "start": {
          "line": 35,
          "column": 33
        },
        "end": {
          "line": 35,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1057,
      "end": 1061,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1061,
      "end": 1062,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 1062,
      "end": 1070,
      "loc": {
        "start": {
          "line": 36,
          "column": 13
        },
        "end": {
          "line": 36,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1070,
      "end": 1071,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 1071,
      "end": 1078,
      "loc": {
        "start": {
          "line": 36,
          "column": 22
        },
        "end": {
          "line": 36,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1078,
      "end": 1079,
      "loc": {
        "start": {
          "line": 36,
          "column": 29
        },
        "end": {
          "line": 36,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 36,
          "column": 30
        },
        "end": {
          "line": 36,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 36,
          "column": 31
        },
        "end": {
          "line": 36,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1086,
      "end": 1087,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isSelected",
      "start": 1093,
      "end": 1103,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1103,
      "end": 1104,
      "loc": {
        "start": {
          "line": 39,
          "column": 14
        },
        "end": {
          "line": 39,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1104,
      "end": 1106,
      "loc": {
        "start": {
          "line": 39,
          "column": 15
        },
        "end": {
          "line": 39,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1106,
      "end": 1107,
      "loc": {
        "start": {
          "line": 39,
          "column": 17
        },
        "end": {
          "line": 39,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1108,
      "end": 1109,
      "loc": {
        "start": {
          "line": 39,
          "column": 19
        },
        "end": {
          "line": 39,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1118,
      "end": 1124,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1125,
      "end": 1129,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1129,
      "end": 1130,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 1130,
      "end": 1138,
      "loc": {
        "start": {
          "line": 40,
          "column": 20
        },
        "end": {
          "line": 40,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1138,
      "end": 1139,
      "loc": {
        "start": {
          "line": 40,
          "column": 28
        },
        "end": {
          "line": 40,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "selector",
      "start": 1139,
      "end": 1147,
      "loc": {
        "start": {
          "line": 40,
          "column": 29
        },
        "end": {
          "line": 40,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1147,
      "end": 1148,
      "loc": {
        "start": {
          "line": 40,
          "column": 37
        },
        "end": {
          "line": 40,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getSelectedIds",
      "start": 1148,
      "end": 1162,
      "loc": {
        "start": {
          "line": 40,
          "column": 38
        },
        "end": {
          "line": 40,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1162,
      "end": 1163,
      "loc": {
        "start": {
          "line": 40,
          "column": 52
        },
        "end": {
          "line": 40,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1163,
      "end": 1164,
      "loc": {
        "start": {
          "line": 40,
          "column": 53
        },
        "end": {
          "line": 40,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1164,
      "end": 1165,
      "loc": {
        "start": {
          "line": 40,
          "column": 54
        },
        "end": {
          "line": 40,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 1165,
      "end": 1172,
      "loc": {
        "start": {
          "line": 40,
          "column": 55
        },
        "end": {
          "line": 40,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1172,
      "end": 1173,
      "loc": {
        "start": {
          "line": 40,
          "column": 62
        },
        "end": {
          "line": 40,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1173,
      "end": 1175,
      "loc": {
        "start": {
          "line": 40,
          "column": 63
        },
        "end": {
          "line": 40,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1175,
      "end": 1176,
      "loc": {
        "start": {
          "line": 40,
          "column": 65
        },
        "end": {
          "line": 40,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1177,
      "end": 1180,
      "loc": {
        "start": {
          "line": 40,
          "column": 67
        },
        "end": {
          "line": 40,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 1181,
      "end": 1182,
      "loc": {
        "start": {
          "line": 40,
          "column": 71
        },
        "end": {
          "line": 40,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1182,
      "end": 1183,
      "loc": {
        "start": {
          "line": 40,
          "column": 72
        },
        "end": {
          "line": 40,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1183,
      "end": 1184,
      "loc": {
        "start": {
          "line": 40,
          "column": 73
        },
        "end": {
          "line": 40,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1189,
      "end": 1190,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setVisibility",
      "start": 1196,
      "end": 1209,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1209,
      "end": 1210,
      "loc": {
        "start": {
          "line": 43,
          "column": 17
        },
        "end": {
          "line": 43,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1210,
      "end": 1212,
      "loc": {
        "start": {
          "line": 43,
          "column": 18
        },
        "end": {
          "line": 43,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1212,
      "end": 1213,
      "loc": {
        "start": {
          "line": 43,
          "column": 20
        },
        "end": {
          "line": 43,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 1214,
      "end": 1222,
      "loc": {
        "start": {
          "line": 43,
          "column": 22
        },
        "end": {
          "line": 43,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1223,
      "end": 1224,
      "loc": {
        "start": {
          "line": 43,
          "column": 31
        },
        "end": {
          "line": 43,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1225,
      "end": 1234,
      "loc": {
        "start": {
          "line": 43,
          "column": 33
        },
        "end": {
          "line": 43,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1234,
      "end": 1235,
      "loc": {
        "start": {
          "line": 43,
          "column": 42
        },
        "end": {
          "line": 43,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1236,
      "end": 1237,
      "loc": {
        "start": {
          "line": 43,
          "column": 44
        },
        "end": {
          "line": 43,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1246,
      "end": 1248,
      "loc": {
        "start": {
          "line": 44,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1249,
      "end": 1250,
      "loc": {
        "start": {
          "line": 44,
          "column": 11
        },
        "end": {
          "line": 44,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 1250,
      "end": 1258,
      "loc": {
        "start": {
          "line": 44,
          "column": 12
        },
        "end": {
          "line": 44,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1259,
      "end": 1262,
      "loc": {
        "start": {
          "line": 44,
          "column": 21
        },
        "end": {
          "line": 44,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1263,
      "end": 1272,
      "loc": {
        "start": {
          "line": 44,
          "column": 25
        },
        "end": {
          "line": 44,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1272,
      "end": 1273,
      "loc": {
        "start": {
          "line": 44,
          "column": 34
        },
        "end": {
          "line": 44,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 1286,
      "end": 1294,
      "loc": {
        "start": {
          "line": 45,
          "column": 12
        },
        "end": {
          "line": 45,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1295,
      "end": 1296,
      "loc": {
        "start": {
          "line": 45,
          "column": 21
        },
        "end": {
          "line": 45,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1297,
      "end": 1298,
      "loc": {
        "start": {
          "line": 45,
          "column": 23
        },
        "end": {
          "line": 45,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1298,
      "end": 1302,
      "loc": {
        "start": {
          "line": 45,
          "column": 24
        },
        "end": {
          "line": 45,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1302,
      "end": 1303,
      "loc": {
        "start": {
          "line": 45,
          "column": 28
        },
        "end": {
          "line": 45,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 1303,
      "end": 1307,
      "loc": {
        "start": {
          "line": 45,
          "column": 29
        },
        "end": {
          "line": 45,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1308,
      "end": 1311,
      "loc": {
        "start": {
          "line": 45,
          "column": 34
        },
        "end": {
          "line": 45,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Mode",
      "start": 1312,
      "end": 1316,
      "loc": {
        "start": {
          "line": 45,
          "column": 38
        },
        "end": {
          "line": 45,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1316,
      "end": 1317,
      "loc": {
        "start": {
          "line": 45,
          "column": 42
        },
        "end": {
          "line": 45,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Always",
      "start": 1317,
      "end": 1323,
      "loc": {
        "start": {
          "line": 45,
          "column": 43
        },
        "end": {
          "line": 45,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1323,
      "end": 1324,
      "loc": {
        "start": {
          "line": 45,
          "column": 49
        },
        "end": {
          "line": 45,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1324,
      "end": 1325,
      "loc": {
        "start": {
          "line": 45,
          "column": 50
        },
        "end": {
          "line": 45,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: we forbid hiding selected constraints",
      "start": 1334,
      "end": 1379,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1388,
      "end": 1390,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1391,
      "end": 1392,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1392,
      "end": 1393,
      "loc": {
        "start": {
          "line": 47,
          "column": 12
        },
        "end": {
          "line": 47,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 1393,
      "end": 1401,
      "loc": {
        "start": {
          "line": 47,
          "column": 13
        },
        "end": {
          "line": 47,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1402,
      "end": 1404,
      "loc": {
        "start": {
          "line": 47,
          "column": 22
        },
        "end": {
          "line": 47,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1405,
      "end": 1409,
      "loc": {
        "start": {
          "line": 47,
          "column": 25
        },
        "end": {
          "line": 47,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1409,
      "end": 1410,
      "loc": {
        "start": {
          "line": 47,
          "column": 29
        },
        "end": {
          "line": 47,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isSelected",
      "start": 1410,
      "end": 1420,
      "loc": {
        "start": {
          "line": 47,
          "column": 30
        },
        "end": {
          "line": 47,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1420,
      "end": 1421,
      "loc": {
        "start": {
          "line": 47,
          "column": 40
        },
        "end": {
          "line": 47,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1421,
      "end": 1423,
      "loc": {
        "start": {
          "line": 47,
          "column": 41
        },
        "end": {
          "line": 47,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1423,
      "end": 1424,
      "loc": {
        "start": {
          "line": 47,
          "column": 43
        },
        "end": {
          "line": 47,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1424,
      "end": 1425,
      "loc": {
        "start": {
          "line": 47,
          "column": 44
        },
        "end": {
          "line": 47,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1438,
      "end": 1444,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1444,
      "end": 1445,
      "loc": {
        "start": {
          "line": 48,
          "column": 18
        },
        "end": {
          "line": 48,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1454,
      "end": 1457,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 1458,
      "end": 1463,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1463,
      "end": 1464,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1464,
      "end": 1468,
      "loc": {
        "start": {
          "line": 49,
          "column": 18
        },
        "end": {
          "line": 49,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1468,
      "end": 1469,
      "loc": {
        "start": {
          "line": 49,
          "column": 22
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 1469,
      "end": 1477,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1477,
      "end": 1478,
      "loc": {
        "start": {
          "line": 49,
          "column": 31
        },
        "end": {
          "line": 49,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1479,
      "end": 1481,
      "loc": {
        "start": {
          "line": 49,
          "column": 33
        },
        "end": {
          "line": 49,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1481,
      "end": 1482,
      "loc": {
        "start": {
          "line": 49,
          "column": 35
        },
        "end": {
          "line": 49,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1482,
      "end": 1483,
      "loc": {
        "start": {
          "line": 49,
          "column": 36
        },
        "end": {
          "line": 49,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphics",
      "start": 1483,
      "end": 1491,
      "loc": {
        "start": {
          "line": 49,
          "column": 37
        },
        "end": {
          "line": 49,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1491,
      "end": 1492,
      "loc": {
        "start": {
          "line": 49,
          "column": 45
        },
        "end": {
          "line": 49,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "visible",
      "start": 1492,
      "end": 1499,
      "loc": {
        "start": {
          "line": 49,
          "column": 46
        },
        "end": {
          "line": 49,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1500,
      "end": 1501,
      "loc": {
        "start": {
          "line": 49,
          "column": 54
        },
        "end": {
          "line": 49,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 1502,
      "end": 1510,
      "loc": {
        "start": {
          "line": 49,
          "column": 56
        },
        "end": {
          "line": 49,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1510,
      "end": 1511,
      "loc": {
        "start": {
          "line": 49,
          "column": 64
        },
        "end": {
          "line": 49,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1516,
      "end": 1517,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addConstraint",
      "start": 1523,
      "end": 1536,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1536,
      "end": 1537,
      "loc": {
        "start": {
          "line": 52,
          "column": 17
        },
        "end": {
          "line": 52,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1537,
      "end": 1547,
      "loc": {
        "start": {
          "line": 52,
          "column": 18
        },
        "end": {
          "line": 52,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1547,
      "end": 1548,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1549,
      "end": 1550,
      "loc": {
        "start": {
          "line": 52,
          "column": 30
        },
        "end": {
          "line": 52,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1559,
      "end": 1561,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1562,
      "end": 1563,
      "loc": {
        "start": {
          "line": 53,
          "column": 11
        },
        "end": {
          "line": 53,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1563,
      "end": 1564,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1564,
      "end": 1565,
      "loc": {
        "start": {
          "line": 53,
          "column": 13
        },
        "end": {
          "line": 53,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1565,
      "end": 1575,
      "loc": {
        "start": {
          "line": 53,
          "column": 14
        },
        "end": {
          "line": 53,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1575,
      "end": 1576,
      "loc": {
        "start": {
          "line": 53,
          "column": 24
        },
        "end": {
          "line": 53,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphics",
      "start": 1576,
      "end": 1584,
      "loc": {
        "start": {
          "line": 53,
          "column": 25
        },
        "end": {
          "line": 53,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 1585,
      "end": 1595,
      "loc": {
        "start": {
          "line": 53,
          "column": 34
        },
        "end": {
          "line": 53,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ConstraintGraphics",
      "start": 1596,
      "end": 1614,
      "loc": {
        "start": {
          "line": 53,
          "column": 45
        },
        "end": {
          "line": 53,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1614,
      "end": 1615,
      "loc": {
        "start": {
          "line": 53,
          "column": 63
        },
        "end": {
          "line": 53,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1615,
      "end": 1616,
      "loc": {
        "start": {
          "line": 53,
          "column": 64
        },
        "end": {
          "line": 53,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1617,
      "end": 1623,
      "loc": {
        "start": {
          "line": 53,
          "column": 66
        },
        "end": {
          "line": 53,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1623,
      "end": 1624,
      "loc": {
        "start": {
          "line": 53,
          "column": 72
        },
        "end": {
          "line": 53,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1633,
      "end": 1637,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1637,
      "end": 1638,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 1638,
      "end": 1649,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1649,
      "end": 1650,
      "loc": {
        "start": {
          "line": 54,
          "column": 24
        },
        "end": {
          "line": 54,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "add",
      "start": 1650,
      "end": 1653,
      "loc": {
        "start": {
          "line": 54,
          "column": 25
        },
        "end": {
          "line": 54,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1653,
      "end": 1654,
      "loc": {
        "start": {
          "line": 54,
          "column": 28
        },
        "end": {
          "line": 54,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1654,
      "end": 1664,
      "loc": {
        "start": {
          "line": 54,
          "column": 29
        },
        "end": {
          "line": 54,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1664,
      "end": 1665,
      "loc": {
        "start": {
          "line": 54,
          "column": 39
        },
        "end": {
          "line": 54,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1665,
      "end": 1667,
      "loc": {
        "start": {
          "line": 54,
          "column": 40
        },
        "end": {
          "line": 54,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1667,
      "end": 1668,
      "loc": {
        "start": {
          "line": 54,
          "column": 42
        },
        "end": {
          "line": 54,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1668,
      "end": 1669,
      "loc": {
        "start": {
          "line": 54,
          "column": 43
        },
        "end": {
          "line": 54,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1678,
      "end": 1682,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1682,
      "end": 1683,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseEntityFor",
      "start": 1683,
      "end": 1696,
      "loc": {
        "start": {
          "line": 55,
          "column": 13
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1696,
      "end": 1697,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 1697,
      "end": 1700,
      "loc": {
        "start": {
          "line": 55,
          "column": 27
        },
        "end": {
          "line": 55,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1700,
      "end": 1701,
      "loc": {
        "start": {
          "line": 55,
          "column": 30
        },
        "end": {
          "line": 55,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1701,
      "end": 1711,
      "loc": {
        "start": {
          "line": 55,
          "column": 31
        },
        "end": {
          "line": 55,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1711,
      "end": 1712,
      "loc": {
        "start": {
          "line": 55,
          "column": 41
        },
        "end": {
          "line": 55,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1712,
      "end": 1714,
      "loc": {
        "start": {
          "line": 55,
          "column": 42
        },
        "end": {
          "line": 55,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1714,
      "end": 1715,
      "loc": {
        "start": {
          "line": 55,
          "column": 44
        },
        "end": {
          "line": 55,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1716,
      "end": 1725,
      "loc": {
        "start": {
          "line": 55,
          "column": 46
        },
        "end": {
          "line": 55,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1725,
      "end": 1726,
      "loc": {
        "start": {
          "line": 55,
          "column": 55
        },
        "end": {
          "line": 55,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1726,
      "end": 1727,
      "loc": {
        "start": {
          "line": 55,
          "column": 56
        },
        "end": {
          "line": 55,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 1736,
      "end": 1739,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1740,
      "end": 1741,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1741,
      "end": 1744,
      "loc": {
        "start": {
          "line": 56,
          "column": 13
        },
        "end": {
          "line": 56,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 1745,
      "end": 1751,
      "loc": {
        "start": {
          "line": 56,
          "column": 17
        },
        "end": {
          "line": 56,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 1752,
      "end": 1754,
      "loc": {
        "start": {
          "line": 56,
          "column": 24
        },
        "end": {
          "line": 56,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1755,
      "end": 1765,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1765,
      "end": 1766,
      "loc": {
        "start": {
          "line": 56,
          "column": 37
        },
        "end": {
          "line": 56,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 1766,
      "end": 1774,
      "loc": {
        "start": {
          "line": 56,
          "column": 38
        },
        "end": {
          "line": 56,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1774,
      "end": 1775,
      "loc": {
        "start": {
          "line": 56,
          "column": 46
        },
        "end": {
          "line": 56,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1776,
      "end": 1777,
      "loc": {
        "start": {
          "line": 56,
          "column": 48
        },
        "end": {
          "line": 56,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1790,
      "end": 1792,
      "loc": {
        "start": {
          "line": 57,
          "column": 12
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1793,
      "end": 1794,
      "loc": {
        "start": {
          "line": 57,
          "column": 15
        },
        "end": {
          "line": 57,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1794,
      "end": 1795,
      "loc": {
        "start": {
          "line": 57,
          "column": 16
        },
        "end": {
          "line": 57,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1795,
      "end": 1799,
      "loc": {
        "start": {
          "line": 57,
          "column": 17
        },
        "end": {
          "line": 57,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1799,
      "end": 1800,
      "loc": {
        "start": {
          "line": 57,
          "column": 21
        },
        "end": {
          "line": 57,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 1800,
      "end": 1809,
      "loc": {
        "start": {
          "line": 57,
          "column": 22
        },
        "end": {
          "line": 57,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1809,
      "end": 1810,
      "loc": {
        "start": {
          "line": 57,
          "column": 31
        },
        "end": {
          "line": 57,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "has",
      "start": 1810,
      "end": 1813,
      "loc": {
        "start": {
          "line": 57,
          "column": 32
        },
        "end": {
          "line": 57,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1813,
      "end": 1814,
      "loc": {
        "start": {
          "line": 57,
          "column": 35
        },
        "end": {
          "line": 57,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 1814,
      "end": 1820,
      "loc": {
        "start": {
          "line": 57,
          "column": 36
        },
        "end": {
          "line": 57,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1820,
      "end": 1821,
      "loc": {
        "start": {
          "line": 57,
          "column": 42
        },
        "end": {
          "line": 57,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1821,
      "end": 1823,
      "loc": {
        "start": {
          "line": 57,
          "column": 43
        },
        "end": {
          "line": 57,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1823,
      "end": 1824,
      "loc": {
        "start": {
          "line": 57,
          "column": 45
        },
        "end": {
          "line": 57,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1824,
      "end": 1825,
      "loc": {
        "start": {
          "line": 57,
          "column": 46
        },
        "end": {
          "line": 57,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1826,
      "end": 1830,
      "loc": {
        "start": {
          "line": 57,
          "column": 48
        },
        "end": {
          "line": 57,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1830,
      "end": 1831,
      "loc": {
        "start": {
          "line": 57,
          "column": 52
        },
        "end": {
          "line": 57,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 1831,
      "end": 1840,
      "loc": {
        "start": {
          "line": 57,
          "column": 53
        },
        "end": {
          "line": 57,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1840,
      "end": 1841,
      "loc": {
        "start": {
          "line": 57,
          "column": 62
        },
        "end": {
          "line": 57,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 1841,
      "end": 1844,
      "loc": {
        "start": {
          "line": 57,
          "column": 63
        },
        "end": {
          "line": 57,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1844,
      "end": 1845,
      "loc": {
        "start": {
          "line": 57,
          "column": 66
        },
        "end": {
          "line": 57,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 1845,
      "end": 1851,
      "loc": {
        "start": {
          "line": 57,
          "column": 67
        },
        "end": {
          "line": 57,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1851,
      "end": 1852,
      "loc": {
        "start": {
          "line": 57,
          "column": 73
        },
        "end": {
          "line": 57,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1852,
      "end": 1854,
      "loc": {
        "start": {
          "line": 57,
          "column": 74
        },
        "end": {
          "line": 57,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1854,
      "end": 1855,
      "loc": {
        "start": {
          "line": 57,
          "column": 76
        },
        "end": {
          "line": 57,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1856,
      "end": 1857,
      "loc": {
        "start": {
          "line": 57,
          "column": 78
        },
        "end": {
          "line": 57,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1857,
      "end": 1858,
      "loc": {
        "start": {
          "line": 57,
          "column": 79
        },
        "end": {
          "line": 57,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1858,
      "end": 1859,
      "loc": {
        "start": {
          "line": 57,
          "column": 80
        },
        "end": {
          "line": 57,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1859,
      "end": 1860,
      "loc": {
        "start": {
          "line": 57,
          "column": 81
        },
        "end": {
          "line": 57,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1873,
      "end": 1877,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1877,
      "end": 1878,
      "loc": {
        "start": {
          "line": 58,
          "column": 16
        },
        "end": {
          "line": 58,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 1878,
      "end": 1887,
      "loc": {
        "start": {
          "line": 58,
          "column": 17
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1887,
      "end": 1888,
      "loc": {
        "start": {
          "line": 58,
          "column": 26
        },
        "end": {
          "line": 58,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 1888,
      "end": 1891,
      "loc": {
        "start": {
          "line": 58,
          "column": 27
        },
        "end": {
          "line": 58,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1891,
      "end": 1892,
      "loc": {
        "start": {
          "line": 58,
          "column": 30
        },
        "end": {
          "line": 58,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 1892,
      "end": 1898,
      "loc": {
        "start": {
          "line": 58,
          "column": 31
        },
        "end": {
          "line": 58,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1898,
      "end": 1899,
      "loc": {
        "start": {
          "line": 58,
          "column": 37
        },
        "end": {
          "line": 58,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1899,
      "end": 1901,
      "loc": {
        "start": {
          "line": 58,
          "column": 38
        },
        "end": {
          "line": 58,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1901,
      "end": 1902,
      "loc": {
        "start": {
          "line": 58,
          "column": 40
        },
        "end": {
          "line": 58,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1902,
      "end": 1903,
      "loc": {
        "start": {
          "line": 58,
          "column": 41
        },
        "end": {
          "line": 58,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 1903,
      "end": 1907,
      "loc": {
        "start": {
          "line": 58,
          "column": 42
        },
        "end": {
          "line": 58,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1907,
      "end": 1908,
      "loc": {
        "start": {
          "line": 58,
          "column": 46
        },
        "end": {
          "line": 58,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1908,
      "end": 1918,
      "loc": {
        "start": {
          "line": 58,
          "column": 47
        },
        "end": {
          "line": 58,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1918,
      "end": 1919,
      "loc": {
        "start": {
          "line": 58,
          "column": 57
        },
        "end": {
          "line": 58,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1919,
      "end": 1921,
      "loc": {
        "start": {
          "line": 58,
          "column": 58
        },
        "end": {
          "line": 58,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1921,
      "end": 1922,
      "loc": {
        "start": {
          "line": 58,
          "column": 60
        },
        "end": {
          "line": 58,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1922,
      "end": 1923,
      "loc": {
        "start": {
          "line": 58,
          "column": 61
        },
        "end": {
          "line": 58,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1932,
      "end": 1933,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1942,
      "end": 1946,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1946,
      "end": 1947,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setVisibility",
      "start": 1947,
      "end": 1960,
      "loc": {
        "start": {
          "line": 60,
          "column": 13
        },
        "end": {
          "line": 60,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1960,
      "end": 1961,
      "loc": {
        "start": {
          "line": 60,
          "column": 26
        },
        "end": {
          "line": 60,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 1961,
      "end": 1971,
      "loc": {
        "start": {
          "line": 60,
          "column": 27
        },
        "end": {
          "line": 60,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1971,
      "end": 1972,
      "loc": {
        "start": {
          "line": 60,
          "column": 37
        },
        "end": {
          "line": 60,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1972,
      "end": 1974,
      "loc": {
        "start": {
          "line": 60,
          "column": 38
        },
        "end": {
          "line": 60,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1974,
      "end": 1975,
      "loc": {
        "start": {
          "line": 60,
          "column": 40
        },
        "end": {
          "line": 60,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1975,
      "end": 1976,
      "loc": {
        "start": {
          "line": 60,
          "column": 41
        },
        "end": {
          "line": 60,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1985,
      "end": 1989,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1989,
      "end": 1990,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 1990,
      "end": 1997,
      "loc": {
        "start": {
          "line": 61,
          "column": 13
        },
        "end": {
          "line": 61,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1997,
      "end": 1998,
      "loc": {
        "start": {
          "line": 61,
          "column": 20
        },
        "end": {
          "line": 61,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1998,
      "end": 1999,
      "loc": {
        "start": {
          "line": 61,
          "column": 21
        },
        "end": {
          "line": 61,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1999,
      "end": 2000,
      "loc": {
        "start": {
          "line": 61,
          "column": 22
        },
        "end": {
          "line": 61,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2005,
      "end": 2006,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeConstraint",
      "start": 2012,
      "end": 2028,
      "loc": {
        "start": {
          "line": 64,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2028,
      "end": 2029,
      "loc": {
        "start": {
          "line": 64,
          "column": 20
        },
        "end": {
          "line": 64,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2029,
      "end": 2039,
      "loc": {
        "start": {
          "line": 64,
          "column": 21
        },
        "end": {
          "line": 64,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2039,
      "end": 2040,
      "loc": {
        "start": {
          "line": 64,
          "column": 31
        },
        "end": {
          "line": 64,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 2041,
      "end": 2046,
      "loc": {
        "start": {
          "line": 64,
          "column": 33
        },
        "end": {
          "line": 64,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2047,
      "end": 2048,
      "loc": {
        "start": {
          "line": 64,
          "column": 39
        },
        "end": {
          "line": 64,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2049,
      "end": 2059,
      "loc": {
        "start": {
          "line": 64,
          "column": 41
        },
        "end": {
          "line": 64,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2059,
      "end": 2060,
      "loc": {
        "start": {
          "line": 64,
          "column": 51
        },
        "end": {
          "line": 64,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 2060,
      "end": 2065,
      "loc": {
        "start": {
          "line": 64,
          "column": 52
        },
        "end": {
          "line": 64,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2065,
      "end": 2066,
      "loc": {
        "start": {
          "line": 64,
          "column": 57
        },
        "end": {
          "line": 64,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2067,
      "end": 2068,
      "loc": {
        "start": {
          "line": 64,
          "column": 59
        },
        "end": {
          "line": 64,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2077,
      "end": 2079,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2080,
      "end": 2081,
      "loc": {
        "start": {
          "line": 65,
          "column": 11
        },
        "end": {
          "line": 65,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2081,
      "end": 2082,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2082,
      "end": 2083,
      "loc": {
        "start": {
          "line": 65,
          "column": 13
        },
        "end": {
          "line": 65,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2083,
      "end": 2093,
      "loc": {
        "start": {
          "line": 65,
          "column": 14
        },
        "end": {
          "line": 65,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2093,
      "end": 2094,
      "loc": {
        "start": {
          "line": 65,
          "column": 24
        },
        "end": {
          "line": 65,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphics",
      "start": 2094,
      "end": 2102,
      "loc": {
        "start": {
          "line": 65,
          "column": 25
        },
        "end": {
          "line": 65,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 2103,
      "end": 2113,
      "loc": {
        "start": {
          "line": 65,
          "column": 34
        },
        "end": {
          "line": 65,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ConstraintGraphics",
      "start": 2114,
      "end": 2132,
      "loc": {
        "start": {
          "line": 65,
          "column": 45
        },
        "end": {
          "line": 65,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2132,
      "end": 2133,
      "loc": {
        "start": {
          "line": 65,
          "column": 63
        },
        "end": {
          "line": 65,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2133,
      "end": 2134,
      "loc": {
        "start": {
          "line": 65,
          "column": 64
        },
        "end": {
          "line": 65,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2135,
      "end": 2141,
      "loc": {
        "start": {
          "line": 65,
          "column": 66
        },
        "end": {
          "line": 65,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2141,
      "end": 2142,
      "loc": {
        "start": {
          "line": 65,
          "column": 72
        },
        "end": {
          "line": 65,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2151,
      "end": 2154,
      "loc": {
        "start": {
          "line": 66,
          "column": 8
        },
        "end": {
          "line": 66,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2155,
      "end": 2156,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2156,
      "end": 2159,
      "loc": {
        "start": {
          "line": 66,
          "column": 13
        },
        "end": {
          "line": 66,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 66,
          "column": 17
        },
        "end": {
          "line": 66,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 2161,
      "end": 2166,
      "loc": {
        "start": {
          "line": 66,
          "column": 18
        },
        "end": {
          "line": 66,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2166,
      "end": 2167,
      "loc": {
        "start": {
          "line": 66,
          "column": 23
        },
        "end": {
          "line": 66,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2168,
      "end": 2170,
      "loc": {
        "start": {
          "line": 66,
          "column": 25
        },
        "end": {
          "line": 66,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2170,
      "end": 2171,
      "loc": {
        "start": {
          "line": 66,
          "column": 27
        },
        "end": {
          "line": 66,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 2172,
      "end": 2174,
      "loc": {
        "start": {
          "line": 66,
          "column": 29
        },
        "end": {
          "line": 66,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 2175,
      "end": 2180,
      "loc": {
        "start": {
          "line": 66,
          "column": 32
        },
        "end": {
          "line": 66,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2180,
      "end": 2181,
      "loc": {
        "start": {
          "line": 66,
          "column": 37
        },
        "end": {
          "line": 66,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "members",
      "start": 2181,
      "end": 2188,
      "loc": {
        "start": {
          "line": 66,
          "column": 38
        },
        "end": {
          "line": 66,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2188,
      "end": 2189,
      "loc": {
        "start": {
          "line": 66,
          "column": 45
        },
        "end": {
          "line": 66,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 2189,
      "end": 2197,
      "loc": {
        "start": {
          "line": 66,
          "column": 46
        },
        "end": {
          "line": 66,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2197,
      "end": 2198,
      "loc": {
        "start": {
          "line": 66,
          "column": 54
        },
        "end": {
          "line": 66,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "members",
      "start": 2198,
      "end": 2205,
      "loc": {
        "start": {
          "line": 66,
          "column": 55
        },
        "end": {
          "line": 66,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2205,
      "end": 2206,
      "loc": {
        "start": {
          "line": 66,
          "column": 62
        },
        "end": {
          "line": 66,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2207,
      "end": 2208,
      "loc": {
        "start": {
          "line": 66,
          "column": 64
        },
        "end": {
          "line": 66,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2221,
      "end": 2226,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2227,
      "end": 2238,
      "loc": {
        "start": {
          "line": 67,
          "column": 18
        },
        "end": {
          "line": 67,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2239,
      "end": 2240,
      "loc": {
        "start": {
          "line": 67,
          "column": 30
        },
        "end": {
          "line": 67,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2241,
      "end": 2245,
      "loc": {
        "start": {
          "line": 67,
          "column": 32
        },
        "end": {
          "line": 67,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2245,
      "end": 2246,
      "loc": {
        "start": {
          "line": 67,
          "column": 36
        },
        "end": {
          "line": 67,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 2246,
      "end": 2255,
      "loc": {
        "start": {
          "line": 67,
          "column": 37
        },
        "end": {
          "line": 67,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2255,
      "end": 2256,
      "loc": {
        "start": {
          "line": 67,
          "column": 46
        },
        "end": {
          "line": 67,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 2256,
      "end": 2259,
      "loc": {
        "start": {
          "line": 67,
          "column": 47
        },
        "end": {
          "line": 67,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2259,
      "end": 2260,
      "loc": {
        "start": {
          "line": 67,
          "column": 50
        },
        "end": {
          "line": 67,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2260,
      "end": 2262,
      "loc": {
        "start": {
          "line": 67,
          "column": 51
        },
        "end": {
          "line": 67,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2262,
      "end": 2263,
      "loc": {
        "start": {
          "line": 67,
          "column": 53
        },
        "end": {
          "line": 67,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2263,
      "end": 2264,
      "loc": {
        "start": {
          "line": 67,
          "column": 54
        },
        "end": {
          "line": 67,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2277,
      "end": 2288,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2288,
      "end": 2289,
      "loc": {
        "start": {
          "line": 68,
          "column": 23
        },
        "end": {
          "line": 68,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "splice",
      "start": 2289,
      "end": 2295,
      "loc": {
        "start": {
          "line": 68,
          "column": 24
        },
        "end": {
          "line": 68,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2295,
      "end": 2296,
      "loc": {
        "start": {
          "line": 68,
          "column": 30
        },
        "end": {
          "line": 68,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2296,
      "end": 2307,
      "loc": {
        "start": {
          "line": 68,
          "column": 31
        },
        "end": {
          "line": 68,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2307,
      "end": 2308,
      "loc": {
        "start": {
          "line": 68,
          "column": 42
        },
        "end": {
          "line": 68,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 2308,
      "end": 2315,
      "loc": {
        "start": {
          "line": 68,
          "column": 43
        },
        "end": {
          "line": 68,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2315,
      "end": 2316,
      "loc": {
        "start": {
          "line": 68,
          "column": 50
        },
        "end": {
          "line": 68,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2316,
      "end": 2326,
      "loc": {
        "start": {
          "line": 68,
          "column": 51
        },
        "end": {
          "line": 68,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2326,
      "end": 2327,
      "loc": {
        "start": {
          "line": 68,
          "column": 61
        },
        "end": {
          "line": 68,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2327,
      "end": 2329,
      "loc": {
        "start": {
          "line": 68,
          "column": 62
        },
        "end": {
          "line": 68,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2329,
      "end": 2330,
      "loc": {
        "start": {
          "line": 68,
          "column": 64
        },
        "end": {
          "line": 68,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2330,
      "end": 2331,
      "loc": {
        "start": {
          "line": 68,
          "column": 65
        },
        "end": {
          "line": 68,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2332,
      "end": 2333,
      "loc": {
        "start": {
          "line": 68,
          "column": 67
        },
        "end": {
          "line": 68,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2333,
      "end": 2334,
      "loc": {
        "start": {
          "line": 68,
          "column": 68
        },
        "end": {
          "line": 68,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2334,
      "end": 2335,
      "loc": {
        "start": {
          "line": 68,
          "column": 69
        },
        "end": {
          "line": 68,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2348,
      "end": 2350,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2351,
      "end": 2352,
      "loc": {
        "start": {
          "line": 69,
          "column": 15
        },
        "end": {
          "line": 69,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2352,
      "end": 2363,
      "loc": {
        "start": {
          "line": 69,
          "column": 16
        },
        "end": {
          "line": 69,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2363,
      "end": 2364,
      "loc": {
        "start": {
          "line": 69,
          "column": 27
        },
        "end": {
          "line": 69,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2364,
      "end": 2370,
      "loc": {
        "start": {
          "line": 69,
          "column": 28
        },
        "end": {
          "line": 69,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2371,
      "end": 2374,
      "loc": {
        "start": {
          "line": 69,
          "column": 35
        },
        "end": {
          "line": 69,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2375,
      "end": 2376,
      "loc": {
        "start": {
          "line": 69,
          "column": 39
        },
        "end": {
          "line": 69,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2376,
      "end": 2377,
      "loc": {
        "start": {
          "line": 69,
          "column": 40
        },
        "end": {
          "line": 69,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2378,
      "end": 2382,
      "loc": {
        "start": {
          "line": 69,
          "column": 42
        },
        "end": {
          "line": 69,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2382,
      "end": 2383,
      "loc": {
        "start": {
          "line": 69,
          "column": 46
        },
        "end": {
          "line": 69,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 2383,
      "end": 2392,
      "loc": {
        "start": {
          "line": 69,
          "column": 47
        },
        "end": {
          "line": 69,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2392,
      "end": 2393,
      "loc": {
        "start": {
          "line": 69,
          "column": 56
        },
        "end": {
          "line": 69,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "delete",
        "keyword": "delete",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "delete",
      "start": 2393,
      "end": 2399,
      "loc": {
        "start": {
          "line": 69,
          "column": 57
        },
        "end": {
          "line": 69,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2399,
      "end": 2400,
      "loc": {
        "start": {
          "line": 69,
          "column": 63
        },
        "end": {
          "line": 69,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2400,
      "end": 2402,
      "loc": {
        "start": {
          "line": 69,
          "column": 64
        },
        "end": {
          "line": 69,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2402,
      "end": 2403,
      "loc": {
        "start": {
          "line": 69,
          "column": 66
        },
        "end": {
          "line": 69,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2403,
      "end": 2404,
      "loc": {
        "start": {
          "line": 69,
          "column": 67
        },
        "end": {
          "line": 69,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2413,
      "end": 2414,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2423,
      "end": 2427,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2427,
      "end": 2428,
      "loc": {
        "start": {
          "line": 71,
          "column": 12
        },
        "end": {
          "line": 71,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2428,
      "end": 2439,
      "loc": {
        "start": {
          "line": 71,
          "column": 13
        },
        "end": {
          "line": 71,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2439,
      "end": 2440,
      "loc": {
        "start": {
          "line": 71,
          "column": 24
        },
        "end": {
          "line": 71,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "delete",
        "keyword": "delete",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "delete",
      "start": 2440,
      "end": 2446,
      "loc": {
        "start": {
          "line": 71,
          "column": 25
        },
        "end": {
          "line": 71,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2446,
      "end": 2447,
      "loc": {
        "start": {
          "line": 71,
          "column": 31
        },
        "end": {
          "line": 71,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2447,
      "end": 2457,
      "loc": {
        "start": {
          "line": 71,
          "column": 32
        },
        "end": {
          "line": 71,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2457,
      "end": 2458,
      "loc": {
        "start": {
          "line": 71,
          "column": 42
        },
        "end": {
          "line": 71,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2458,
      "end": 2460,
      "loc": {
        "start": {
          "line": 71,
          "column": 43
        },
        "end": {
          "line": 71,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2460,
      "end": 2461,
      "loc": {
        "start": {
          "line": 71,
          "column": 45
        },
        "end": {
          "line": 71,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2461,
      "end": 2462,
      "loc": {
        "start": {
          "line": 71,
          "column": 46
        },
        "end": {
          "line": 71,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2471,
      "end": 2475,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2475,
      "end": 2476,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseEntityFor",
      "start": 2476,
      "end": 2489,
      "loc": {
        "start": {
          "line": 72,
          "column": 13
        },
        "end": {
          "line": 72,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2489,
      "end": 2490,
      "loc": {
        "start": {
          "line": 72,
          "column": 26
        },
        "end": {
          "line": 72,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "delete",
        "keyword": "delete",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "delete",
      "start": 2490,
      "end": 2496,
      "loc": {
        "start": {
          "line": 72,
          "column": 27
        },
        "end": {
          "line": 72,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2496,
      "end": 2497,
      "loc": {
        "start": {
          "line": 72,
          "column": 33
        },
        "end": {
          "line": 72,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2497,
      "end": 2507,
      "loc": {
        "start": {
          "line": 72,
          "column": 34
        },
        "end": {
          "line": 72,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2507,
      "end": 2508,
      "loc": {
        "start": {
          "line": 72,
          "column": 44
        },
        "end": {
          "line": 72,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2508,
      "end": 2510,
      "loc": {
        "start": {
          "line": 72,
          "column": 45
        },
        "end": {
          "line": 72,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2510,
      "end": 2511,
      "loc": {
        "start": {
          "line": 72,
          "column": 47
        },
        "end": {
          "line": 72,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2511,
      "end": 2512,
      "loc": {
        "start": {
          "line": 72,
          "column": 48
        },
        "end": {
          "line": 72,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2521,
      "end": 2525,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2525,
      "end": 2526,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 2526,
      "end": 2533,
      "loc": {
        "start": {
          "line": 73,
          "column": 13
        },
        "end": {
          "line": 73,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2533,
      "end": 2534,
      "loc": {
        "start": {
          "line": 73,
          "column": 20
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2534,
      "end": 2535,
      "loc": {
        "start": {
          "line": 73,
          "column": 21
        },
        "end": {
          "line": 73,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2535,
      "end": 2536,
      "loc": {
        "start": {
          "line": 73,
          "column": 22
        },
        "end": {
          "line": 73,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2541,
      "end": 2542,
      "loc": {
        "start": {
          "line": 74,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: must be called if constraint has changed",
      "start": 2548,
      "end": 2596,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateConstraint",
      "start": 2601,
      "end": 2617,
      "loc": {
        "start": {
          "line": 77,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2617,
      "end": 2618,
      "loc": {
        "start": {
          "line": 77,
          "column": 20
        },
        "end": {
          "line": 77,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 2618,
      "end": 2628,
      "loc": {
        "start": {
          "line": 77,
          "column": 21
        },
        "end": {
          "line": 77,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2628,
      "end": 2629,
      "loc": {
        "start": {
          "line": 77,
          "column": 31
        },
        "end": {
          "line": 77,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2630,
      "end": 2631,
      "loc": {
        "start": {
          "line": 77,
          "column": 33
        },
        "end": {
          "line": 77,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2640,
      "end": 2644,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2644,
      "end": 2645,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 2645,
      "end": 2652,
      "loc": {
        "start": {
          "line": 78,
          "column": 13
        },
        "end": {
          "line": 78,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2652,
      "end": 2653,
      "loc": {
        "start": {
          "line": 78,
          "column": 20
        },
        "end": {
          "line": 78,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2653,
      "end": 2654,
      "loc": {
        "start": {
          "line": 78,
          "column": 21
        },
        "end": {
          "line": 78,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2654,
      "end": 2655,
      "loc": {
        "start": {
          "line": 78,
          "column": 22
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2660,
      "end": 2661,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 79,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: must be called if entity of constraint has changed",
      "start": 2666,
      "end": 2724,
      "loc": {
        "start": {
          "line": 80,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateEntity",
      "start": 2729,
      "end": 2741,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2741,
      "end": 2742,
      "loc": {
        "start": {
          "line": 81,
          "column": 16
        },
        "end": {
          "line": 81,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 2742,
      "end": 2748,
      "loc": {
        "start": {
          "line": 81,
          "column": 17
        },
        "end": {
          "line": 81,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2748,
      "end": 2749,
      "loc": {
        "start": {
          "line": 81,
          "column": 23
        },
        "end": {
          "line": 81,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2750,
      "end": 2751,
      "loc": {
        "start": {
          "line": 81,
          "column": 25
        },
        "end": {
          "line": 81,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2760,
      "end": 2762,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2763,
      "end": 2764,
      "loc": {
        "start": {
          "line": 82,
          "column": 11
        },
        "end": {
          "line": 82,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2764,
      "end": 2765,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2765,
      "end": 2769,
      "loc": {
        "start": {
          "line": 82,
          "column": 13
        },
        "end": {
          "line": 82,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2769,
      "end": 2770,
      "loc": {
        "start": {
          "line": 82,
          "column": 17
        },
        "end": {
          "line": 82,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 2770,
      "end": 2779,
      "loc": {
        "start": {
          "line": 82,
          "column": 18
        },
        "end": {
          "line": 82,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2779,
      "end": 2780,
      "loc": {
        "start": {
          "line": 82,
          "column": 27
        },
        "end": {
          "line": 82,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "has",
      "start": 2780,
      "end": 2783,
      "loc": {
        "start": {
          "line": 82,
          "column": 28
        },
        "end": {
          "line": 82,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2783,
      "end": 2784,
      "loc": {
        "start": {
          "line": 82,
          "column": 31
        },
        "end": {
          "line": 82,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 2784,
      "end": 2790,
      "loc": {
        "start": {
          "line": 82,
          "column": 32
        },
        "end": {
          "line": 82,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2790,
      "end": 2791,
      "loc": {
        "start": {
          "line": 82,
          "column": 38
        },
        "end": {
          "line": 82,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2791,
      "end": 2793,
      "loc": {
        "start": {
          "line": 82,
          "column": 39
        },
        "end": {
          "line": 82,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2793,
      "end": 2794,
      "loc": {
        "start": {
          "line": 82,
          "column": 41
        },
        "end": {
          "line": 82,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2794,
      "end": 2795,
      "loc": {
        "start": {
          "line": 82,
          "column": 42
        },
        "end": {
          "line": 82,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2796,
      "end": 2802,
      "loc": {
        "start": {
          "line": 82,
          "column": 44
        },
        "end": {
          "line": 82,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2802,
      "end": 2803,
      "loc": {
        "start": {
          "line": 82,
          "column": 50
        },
        "end": {
          "line": 82,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2812,
      "end": 2816,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2816,
      "end": 2817,
      "loc": {
        "start": {
          "line": 83,
          "column": 12
        },
        "end": {
          "line": 83,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 2817,
      "end": 2824,
      "loc": {
        "start": {
          "line": 83,
          "column": 13
        },
        "end": {
          "line": 83,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2824,
      "end": 2825,
      "loc": {
        "start": {
          "line": 83,
          "column": 20
        },
        "end": {
          "line": 83,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2825,
      "end": 2826,
      "loc": {
        "start": {
          "line": 83,
          "column": 21
        },
        "end": {
          "line": 83,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2826,
      "end": 2827,
      "loc": {
        "start": {
          "line": 83,
          "column": 22
        },
        "end": {
          "line": 83,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2832,
      "end": 2833,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hover",
      "start": 2839,
      "end": 2844,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 86,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2844,
      "end": 2845,
      "loc": {
        "start": {
          "line": 86,
          "column": 9
        },
        "end": {
          "line": 86,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 2845,
      "end": 2851,
      "loc": {
        "start": {
          "line": 86,
          "column": 10
        },
        "end": {
          "line": 86,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2851,
      "end": 2852,
      "loc": {
        "start": {
          "line": 86,
          "column": 16
        },
        "end": {
          "line": 86,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "first",
      "start": 2853,
      "end": 2858,
      "loc": {
        "start": {
          "line": 86,
          "column": 18
        },
        "end": {
          "line": 86,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2858,
      "end": 2859,
      "loc": {
        "start": {
          "line": 86,
          "column": 23
        },
        "end": {
          "line": 86,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2860,
      "end": 2861,
      "loc": {
        "start": {
          "line": 86,
          "column": 25
        },
        "end": {
          "line": 86,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2870,
      "end": 2872,
      "loc": {
        "start": {
          "line": 87,
          "column": 8
        },
        "end": {
          "line": 87,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2873,
      "end": 2874,
      "loc": {
        "start": {
          "line": 87,
          "column": 11
        },
        "end": {
          "line": 87,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2874,
      "end": 2878,
      "loc": {
        "start": {
          "line": 87,
          "column": 12
        },
        "end": {
          "line": 87,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2878,
      "end": 2879,
      "loc": {
        "start": {
          "line": 87,
          "column": 16
        },
        "end": {
          "line": 87,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 2879,
      "end": 2883,
      "loc": {
        "start": {
          "line": 87,
          "column": 17
        },
        "end": {
          "line": 87,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 2884,
      "end": 2887,
      "loc": {
        "start": {
          "line": 87,
          "column": 22
        },
        "end": {
          "line": 87,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Mode",
      "start": 2888,
      "end": 2892,
      "loc": {
        "start": {
          "line": 87,
          "column": 26
        },
        "end": {
          "line": 87,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2892,
      "end": 2893,
      "loc": {
        "start": {
          "line": 87,
          "column": 30
        },
        "end": {
          "line": 87,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hover",
      "start": 2893,
      "end": 2898,
      "loc": {
        "start": {
          "line": 87,
          "column": 31
        },
        "end": {
          "line": 87,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2898,
      "end": 2899,
      "loc": {
        "start": {
          "line": 87,
          "column": 36
        },
        "end": {
          "line": 87,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2900,
      "end": 2906,
      "loc": {
        "start": {
          "line": 87,
          "column": 38
        },
        "end": {
          "line": 87,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2906,
      "end": 2907,
      "loc": {
        "start": {
          "line": 87,
          "column": 44
        },
        "end": {
          "line": 87,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2916,
      "end": 2918,
      "loc": {
        "start": {
          "line": 88,
          "column": 8
        },
        "end": {
          "line": 88,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2919,
      "end": 2920,
      "loc": {
        "start": {
          "line": 88,
          "column": 11
        },
        "end": {
          "line": 88,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 2920,
      "end": 2926,
      "loc": {
        "start": {
          "line": 88,
          "column": 12
        },
        "end": {
          "line": 88,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2926,
      "end": 2927,
      "loc": {
        "start": {
          "line": 88,
          "column": 18
        },
        "end": {
          "line": 88,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isConstraint",
      "start": 2927,
      "end": 2939,
      "loc": {
        "start": {
          "line": 88,
          "column": 19
        },
        "end": {
          "line": 88,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2939,
      "end": 2940,
      "loc": {
        "start": {
          "line": 88,
          "column": 31
        },
        "end": {
          "line": 88,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2940,
      "end": 2941,
      "loc": {
        "start": {
          "line": 88,
          "column": 32
        },
        "end": {
          "line": 88,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2941,
      "end": 2942,
      "loc": {
        "start": {
          "line": 88,
          "column": 33
        },
        "end": {
          "line": 88,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2943,
      "end": 2949,
      "loc": {
        "start": {
          "line": 88,
          "column": 35
        },
        "end": {
          "line": 88,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2949,
      "end": 2950,
      "loc": {
        "start": {
          "line": 88,
          "column": 41
        },
        "end": {
          "line": 88,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2959,
      "end": 2961,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2962,
      "end": 2963,
      "loc": {
        "start": {
          "line": 89,
          "column": 11
        },
        "end": {
          "line": 89,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "first",
      "start": 2963,
      "end": 2968,
      "loc": {
        "start": {
          "line": 89,
          "column": 12
        },
        "end": {
          "line": 89,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2968,
      "end": 2969,
      "loc": {
        "start": {
          "line": 89,
          "column": 17
        },
        "end": {
          "line": 89,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2970,
      "end": 2974,
      "loc": {
        "start": {
          "line": 89,
          "column": 19
        },
        "end": {
          "line": 89,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2974,
      "end": 2975,
      "loc": {
        "start": {
          "line": 89,
          "column": 23
        },
        "end": {
          "line": 89,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unhoverAll",
      "start": 2975,
      "end": 2985,
      "loc": {
        "start": {
          "line": 89,
          "column": 24
        },
        "end": {
          "line": 89,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2985,
      "end": 2986,
      "loc": {
        "start": {
          "line": 89,
          "column": 34
        },
        "end": {
          "line": 89,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2986,
      "end": 2987,
      "loc": {
        "start": {
          "line": 89,
          "column": 35
        },
        "end": {
          "line": 89,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2987,
      "end": 2988,
      "loc": {
        "start": {
          "line": 89,
          "column": 36
        },
        "end": {
          "line": 89,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2997,
      "end": 3000,
      "loc": {
        "start": {
          "line": 90,
          "column": 8
        },
        "end": {
          "line": 90,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3001,
      "end": 3002,
      "loc": {
        "start": {
          "line": 90,
          "column": 12
        },
        "end": {
          "line": 90,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3002,
      "end": 3005,
      "loc": {
        "start": {
          "line": 90,
          "column": 13
        },
        "end": {
          "line": 90,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3006,
      "end": 3008,
      "loc": {
        "start": {
          "line": 90,
          "column": 17
        },
        "end": {
          "line": 90,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 3009,
      "end": 3011,
      "loc": {
        "start": {
          "line": 90,
          "column": 20
        },
        "end": {
          "line": 90,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3012,
      "end": 3016,
      "loc": {
        "start": {
          "line": 90,
          "column": 23
        },
        "end": {
          "line": 90,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3016,
      "end": 3017,
      "loc": {
        "start": {
          "line": 90,
          "column": 27
        },
        "end": {
          "line": 90,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entityFor",
      "start": 3017,
      "end": 3026,
      "loc": {
        "start": {
          "line": 90,
          "column": 28
        },
        "end": {
          "line": 90,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3026,
      "end": 3027,
      "loc": {
        "start": {
          "line": 90,
          "column": 37
        },
        "end": {
          "line": 90,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 3027,
      "end": 3030,
      "loc": {
        "start": {
          "line": 90,
          "column": 38
        },
        "end": {
          "line": 90,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3030,
      "end": 3031,
      "loc": {
        "start": {
          "line": 90,
          "column": 41
        },
        "end": {
          "line": 90,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 3031,
      "end": 3037,
      "loc": {
        "start": {
          "line": 90,
          "column": 42
        },
        "end": {
          "line": 90,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3037,
      "end": 3038,
      "loc": {
        "start": {
          "line": 90,
          "column": 48
        },
        "end": {
          "line": 90,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3038,
      "end": 3040,
      "loc": {
        "start": {
          "line": 90,
          "column": 49
        },
        "end": {
          "line": 90,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3040,
      "end": 3041,
      "loc": {
        "start": {
          "line": 90,
          "column": 51
        },
        "end": {
          "line": 90,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3042,
      "end": 3044,
      "loc": {
        "start": {
          "line": 90,
          "column": 53
        },
        "end": {
          "line": 90,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3045,
      "end": 3046,
      "loc": {
        "start": {
          "line": 90,
          "column": 56
        },
        "end": {
          "line": 90,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3046,
      "end": 3047,
      "loc": {
        "start": {
          "line": 90,
          "column": 57
        },
        "end": {
          "line": 90,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3047,
      "end": 3048,
      "loc": {
        "start": {
          "line": 90,
          "column": 58
        },
        "end": {
          "line": 90,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3049,
      "end": 3050,
      "loc": {
        "start": {
          "line": 90,
          "column": 60
        },
        "end": {
          "line": 90,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3063,
      "end": 3067,
      "loc": {
        "start": {
          "line": 91,
          "column": 12
        },
        "end": {
          "line": 91,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3067,
      "end": 3068,
      "loc": {
        "start": {
          "line": 91,
          "column": 16
        },
        "end": {
          "line": 91,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setVisibility",
      "start": 3068,
      "end": 3081,
      "loc": {
        "start": {
          "line": 91,
          "column": 17
        },
        "end": {
          "line": 91,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3081,
      "end": 3082,
      "loc": {
        "start": {
          "line": 91,
          "column": 30
        },
        "end": {
          "line": 91,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3082,
      "end": 3084,
      "loc": {
        "start": {
          "line": 91,
          "column": 31
        },
        "end": {
          "line": 91,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3084,
      "end": 3085,
      "loc": {
        "start": {
          "line": 91,
          "column": 33
        },
        "end": {
          "line": 91,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 3086,
      "end": 3090,
      "loc": {
        "start": {
          "line": 91,
          "column": 35
        },
        "end": {
          "line": 91,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3090,
      "end": 3091,
      "loc": {
        "start": {
          "line": 91,
          "column": 39
        },
        "end": {
          "line": 91,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3091,
      "end": 3092,
      "loc": {
        "start": {
          "line": 91,
          "column": 40
        },
        "end": {
          "line": 91,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3105,
      "end": 3107,
      "loc": {
        "start": {
          "line": 92,
          "column": 12
        },
        "end": {
          "line": 92,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3108,
      "end": 3109,
      "loc": {
        "start": {
          "line": 92,
          "column": 15
        },
        "end": {
          "line": 92,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 3109,
      "end": 3110,
      "loc": {
        "start": {
          "line": 92,
          "column": 16
        },
        "end": {
          "line": 92,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3110,
      "end": 3114,
      "loc": {
        "start": {
          "line": 92,
          "column": 17
        },
        "end": {
          "line": 92,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3114,
      "end": 3115,
      "loc": {
        "start": {
          "line": 92,
          "column": 21
        },
        "end": {
          "line": 92,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isSelected",
      "start": 3115,
      "end": 3125,
      "loc": {
        "start": {
          "line": 92,
          "column": 22
        },
        "end": {
          "line": 92,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3125,
      "end": 3126,
      "loc": {
        "start": {
          "line": 92,
          "column": 32
        },
        "end": {
          "line": 92,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3126,
      "end": 3128,
      "loc": {
        "start": {
          "line": 92,
          "column": 33
        },
        "end": {
          "line": 92,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3128,
      "end": 3129,
      "loc": {
        "start": {
          "line": 92,
          "column": 35
        },
        "end": {
          "line": 92,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3129,
      "end": 3130,
      "loc": {
        "start": {
          "line": 92,
          "column": 36
        },
        "end": {
          "line": 92,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3147,
      "end": 3151,
      "loc": {
        "start": {
          "line": 93,
          "column": 16
        },
        "end": {
          "line": 93,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3151,
      "end": 3152,
      "loc": {
        "start": {
          "line": 93,
          "column": 20
        },
        "end": {
          "line": 93,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseEntityFor",
      "start": 3152,
      "end": 3165,
      "loc": {
        "start": {
          "line": 93,
          "column": 21
        },
        "end": {
          "line": 93,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3165,
      "end": 3166,
      "loc": {
        "start": {
          "line": 93,
          "column": 34
        },
        "end": {
          "line": 93,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 3166,
      "end": 3169,
      "loc": {
        "start": {
          "line": 93,
          "column": 35
        },
        "end": {
          "line": 93,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3169,
      "end": 3170,
      "loc": {
        "start": {
          "line": 93,
          "column": 38
        },
        "end": {
          "line": 93,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3170,
      "end": 3172,
      "loc": {
        "start": {
          "line": 93,
          "column": 39
        },
        "end": {
          "line": 93,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3172,
      "end": 3173,
      "loc": {
        "start": {
          "line": 93,
          "column": 41
        },
        "end": {
          "line": 93,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 3174,
      "end": 3180,
      "loc": {
        "start": {
          "line": 93,
          "column": 43
        },
        "end": {
          "line": 93,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3180,
      "end": 3181,
      "loc": {
        "start": {
          "line": 93,
          "column": 49
        },
        "end": {
          "line": 93,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3181,
      "end": 3183,
      "loc": {
        "start": {
          "line": 93,
          "column": 50
        },
        "end": {
          "line": 93,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3183,
      "end": 3184,
      "loc": {
        "start": {
          "line": 93,
          "column": 52
        },
        "end": {
          "line": 93,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3184,
      "end": 3185,
      "loc": {
        "start": {
          "line": 93,
          "column": 53
        },
        "end": {
          "line": 93,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3194,
      "end": 3195,
      "loc": {
        "start": {
          "line": 94,
          "column": 8
        },
        "end": {
          "line": 94,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3204,
      "end": 3208,
      "loc": {
        "start": {
          "line": 95,
          "column": 8
        },
        "end": {
          "line": 95,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3208,
      "end": 3209,
      "loc": {
        "start": {
          "line": 95,
          "column": 12
        },
        "end": {
          "line": 95,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 3209,
      "end": 3216,
      "loc": {
        "start": {
          "line": 95,
          "column": 13
        },
        "end": {
          "line": 95,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3216,
      "end": 3217,
      "loc": {
        "start": {
          "line": 95,
          "column": 20
        },
        "end": {
          "line": 95,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3217,
      "end": 3218,
      "loc": {
        "start": {
          "line": 95,
          "column": 21
        },
        "end": {
          "line": 95,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3218,
      "end": 3219,
      "loc": {
        "start": {
          "line": 95,
          "column": 22
        },
        "end": {
          "line": 95,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3224,
      "end": 3225,
      "loc": {
        "start": {
          "line": 96,
          "column": 4
        },
        "end": {
          "line": 96,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unhover",
      "start": 3231,
      "end": 3238,
      "loc": {
        "start": {
          "line": 98,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3238,
      "end": 3239,
      "loc": {
        "start": {
          "line": 98,
          "column": 11
        },
        "end": {
          "line": 98,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 3239,
      "end": 3245,
      "loc": {
        "start": {
          "line": 98,
          "column": 12
        },
        "end": {
          "line": 98,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3245,
      "end": 3246,
      "loc": {
        "start": {
          "line": 98,
          "column": 18
        },
        "end": {
          "line": 98,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "first",
      "start": 3247,
      "end": 3252,
      "loc": {
        "start": {
          "line": 98,
          "column": 20
        },
        "end": {
          "line": 98,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3252,
      "end": 3253,
      "loc": {
        "start": {
          "line": 98,
          "column": 25
        },
        "end": {
          "line": 98,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3254,
      "end": 3255,
      "loc": {
        "start": {
          "line": 98,
          "column": 27
        },
        "end": {
          "line": 98,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3264,
      "end": 3266,
      "loc": {
        "start": {
          "line": 99,
          "column": 8
        },
        "end": {
          "line": 99,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3267,
      "end": 3268,
      "loc": {
        "start": {
          "line": 99,
          "column": 11
        },
        "end": {
          "line": 99,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3268,
      "end": 3272,
      "loc": {
        "start": {
          "line": 99,
          "column": 12
        },
        "end": {
          "line": 99,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3272,
      "end": 3273,
      "loc": {
        "start": {
          "line": 99,
          "column": 16
        },
        "end": {
          "line": 99,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3273,
      "end": 3277,
      "loc": {
        "start": {
          "line": 99,
          "column": 17
        },
        "end": {
          "line": 99,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 3278,
      "end": 3281,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Mode",
      "start": 3282,
      "end": 3286,
      "loc": {
        "start": {
          "line": 99,
          "column": 26
        },
        "end": {
          "line": 99,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3286,
      "end": 3287,
      "loc": {
        "start": {
          "line": 99,
          "column": 30
        },
        "end": {
          "line": 99,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hover",
      "start": 3287,
      "end": 3292,
      "loc": {
        "start": {
          "line": 99,
          "column": 31
        },
        "end": {
          "line": 99,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3292,
      "end": 3293,
      "loc": {
        "start": {
          "line": 99,
          "column": 36
        },
        "end": {
          "line": 99,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3294,
      "end": 3300,
      "loc": {
        "start": {
          "line": 99,
          "column": 38
        },
        "end": {
          "line": 99,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3300,
      "end": 3301,
      "loc": {
        "start": {
          "line": 99,
          "column": 44
        },
        "end": {
          "line": 99,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3310,
      "end": 3312,
      "loc": {
        "start": {
          "line": 100,
          "column": 8
        },
        "end": {
          "line": 100,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3313,
      "end": 3314,
      "loc": {
        "start": {
          "line": 100,
          "column": 11
        },
        "end": {
          "line": 100,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 3314,
      "end": 3320,
      "loc": {
        "start": {
          "line": 100,
          "column": 12
        },
        "end": {
          "line": 100,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3320,
      "end": 3321,
      "loc": {
        "start": {
          "line": 100,
          "column": 18
        },
        "end": {
          "line": 100,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isConstraint",
      "start": 3321,
      "end": 3333,
      "loc": {
        "start": {
          "line": 100,
          "column": 19
        },
        "end": {
          "line": 100,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3333,
      "end": 3334,
      "loc": {
        "start": {
          "line": 100,
          "column": 31
        },
        "end": {
          "line": 100,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3334,
      "end": 3335,
      "loc": {
        "start": {
          "line": 100,
          "column": 32
        },
        "end": {
          "line": 100,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3335,
      "end": 3336,
      "loc": {
        "start": {
          "line": 100,
          "column": 33
        },
        "end": {
          "line": 100,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3337,
      "end": 3343,
      "loc": {
        "start": {
          "line": 100,
          "column": 35
        },
        "end": {
          "line": 100,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3343,
      "end": 3344,
      "loc": {
        "start": {
          "line": 100,
          "column": 41
        },
        "end": {
          "line": 100,
          "column": 42
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " do nothing",
      "start": 3353,
      "end": 3366,
      "loc": {
        "start": {
          "line": 101,
          "column": 8
        },
        "end": {
          "line": 101,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3371,
      "end": 3372,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unhoverAll",
      "start": 3378,
      "end": 3388,
      "loc": {
        "start": {
          "line": 104,
          "column": 4
        },
        "end": {
          "line": 104,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3388,
      "end": 3389,
      "loc": {
        "start": {
          "line": 104,
          "column": 14
        },
        "end": {
          "line": 104,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3389,
      "end": 3390,
      "loc": {
        "start": {
          "line": 104,
          "column": 15
        },
        "end": {
          "line": 104,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3391,
      "end": 3392,
      "loc": {
        "start": {
          "line": 104,
          "column": 17
        },
        "end": {
          "line": 104,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3401,
      "end": 3403,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3404,
      "end": 3405,
      "loc": {
        "start": {
          "line": 105,
          "column": 11
        },
        "end": {
          "line": 105,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3405,
      "end": 3409,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3409,
      "end": 3410,
      "loc": {
        "start": {
          "line": 105,
          "column": 16
        },
        "end": {
          "line": 105,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3410,
      "end": 3414,
      "loc": {
        "start": {
          "line": 105,
          "column": 17
        },
        "end": {
          "line": 105,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 3415,
      "end": 3418,
      "loc": {
        "start": {
          "line": 105,
          "column": 22
        },
        "end": {
          "line": 105,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Mode",
      "start": 3419,
      "end": 3423,
      "loc": {
        "start": {
          "line": 105,
          "column": 26
        },
        "end": {
          "line": 105,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3423,
      "end": 3424,
      "loc": {
        "start": {
          "line": 105,
          "column": 30
        },
        "end": {
          "line": 105,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hover",
      "start": 3424,
      "end": 3429,
      "loc": {
        "start": {
          "line": 105,
          "column": 31
        },
        "end": {
          "line": 105,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3429,
      "end": 3430,
      "loc": {
        "start": {
          "line": 105,
          "column": 36
        },
        "end": {
          "line": 105,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3431,
      "end": 3437,
      "loc": {
        "start": {
          "line": 105,
          "column": 38
        },
        "end": {
          "line": 105,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3437,
      "end": 3438,
      "loc": {
        "start": {
          "line": 105,
          "column": 44
        },
        "end": {
          "line": 105,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 3447,
      "end": 3450,
      "loc": {
        "start": {
          "line": 106,
          "column": 8
        },
        "end": {
          "line": 106,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3451,
      "end": 3452,
      "loc": {
        "start": {
          "line": 106,
          "column": 12
        },
        "end": {
          "line": 106,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3452,
      "end": 3455,
      "loc": {
        "start": {
          "line": 106,
          "column": 13
        },
        "end": {
          "line": 106,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3456,
      "end": 3458,
      "loc": {
        "start": {
          "line": 106,
          "column": 17
        },
        "end": {
          "line": 106,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 3459,
      "end": 3461,
      "loc": {
        "start": {
          "line": 106,
          "column": 20
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3462,
      "end": 3466,
      "loc": {
        "start": {
          "line": 106,
          "column": 23
        },
        "end": {
          "line": 106,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3466,
      "end": 3467,
      "loc": {
        "start": {
          "line": 106,
          "column": 27
        },
        "end": {
          "line": 106,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 3467,
      "end": 3478,
      "loc": {
        "start": {
          "line": 106,
          "column": 28
        },
        "end": {
          "line": 106,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3478,
      "end": 3479,
      "loc": {
        "start": {
          "line": 106,
          "column": 39
        },
        "end": {
          "line": 106,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 3479,
      "end": 3483,
      "loc": {
        "start": {
          "line": 106,
          "column": 40
        },
        "end": {
          "line": 106,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3483,
      "end": 3484,
      "loc": {
        "start": {
          "line": 106,
          "column": 44
        },
        "end": {
          "line": 106,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3484,
      "end": 3485,
      "loc": {
        "start": {
          "line": 106,
          "column": 45
        },
        "end": {
          "line": 106,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3485,
      "end": 3486,
      "loc": {
        "start": {
          "line": 106,
          "column": 46
        },
        "end": {
          "line": 106,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3499,
      "end": 3503,
      "loc": {
        "start": {
          "line": 107,
          "column": 12
        },
        "end": {
          "line": 107,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3503,
      "end": 3504,
      "loc": {
        "start": {
          "line": 107,
          "column": 16
        },
        "end": {
          "line": 107,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setVisibility",
      "start": 3504,
      "end": 3517,
      "loc": {
        "start": {
          "line": 107,
          "column": 17
        },
        "end": {
          "line": 107,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3517,
      "end": 3518,
      "loc": {
        "start": {
          "line": 107,
          "column": 30
        },
        "end": {
          "line": 107,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3518,
      "end": 3520,
      "loc": {
        "start": {
          "line": 107,
          "column": 31
        },
        "end": {
          "line": 107,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3520,
      "end": 3521,
      "loc": {
        "start": {
          "line": 107,
          "column": 33
        },
        "end": {
          "line": 107,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 3522,
      "end": 3527,
      "loc": {
        "start": {
          "line": 107,
          "column": 35
        },
        "end": {
          "line": 107,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3527,
      "end": 3528,
      "loc": {
        "start": {
          "line": 107,
          "column": 40
        },
        "end": {
          "line": 107,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3528,
      "end": 3529,
      "loc": {
        "start": {
          "line": 107,
          "column": 41
        },
        "end": {
          "line": 107,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3538,
      "end": 3542,
      "loc": {
        "start": {
          "line": 108,
          "column": 8
        },
        "end": {
          "line": 108,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3542,
      "end": 3543,
      "loc": {
        "start": {
          "line": 108,
          "column": 12
        },
        "end": {
          "line": 108,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 3543,
      "end": 3550,
      "loc": {
        "start": {
          "line": 108,
          "column": 13
        },
        "end": {
          "line": 108,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3550,
      "end": 3551,
      "loc": {
        "start": {
          "line": 108,
          "column": 20
        },
        "end": {
          "line": 108,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3551,
      "end": 3552,
      "loc": {
        "start": {
          "line": 108,
          "column": 21
        },
        "end": {
          "line": 108,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3552,
      "end": 3553,
      "loc": {
        "start": {
          "line": 108,
          "column": 22
        },
        "end": {
          "line": 108,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3558,
      "end": 3559,
      "loc": {
        "start": {
          "line": 109,
          "column": 4
        },
        "end": {
          "line": 109,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "called when constraint visualizer mode changes + on init",
      "start": 3565,
      "end": 3623,
      "loc": {
        "start": {
          "line": 111,
          "column": 4
        },
        "end": {
          "line": 111,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateAll",
      "start": 3628,
      "end": 3637,
      "loc": {
        "start": {
          "line": 112,
          "column": 4
        },
        "end": {
          "line": 112,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3637,
      "end": 3638,
      "loc": {
        "start": {
          "line": 112,
          "column": 13
        },
        "end": {
          "line": 112,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3638,
      "end": 3642,
      "loc": {
        "start": {
          "line": 112,
          "column": 14
        },
        "end": {
          "line": 112,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3643,
      "end": 3644,
      "loc": {
        "start": {
          "line": 112,
          "column": 19
        },
        "end": {
          "line": 112,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3645,
      "end": 3649,
      "loc": {
        "start": {
          "line": 112,
          "column": 21
        },
        "end": {
          "line": 112,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3649,
      "end": 3650,
      "loc": {
        "start": {
          "line": 112,
          "column": 25
        },
        "end": {
          "line": 112,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3650,
      "end": 3654,
      "loc": {
        "start": {
          "line": 112,
          "column": 26
        },
        "end": {
          "line": 112,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3654,
      "end": 3655,
      "loc": {
        "start": {
          "line": 112,
          "column": 30
        },
        "end": {
          "line": 112,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3656,
      "end": 3657,
      "loc": {
        "start": {
          "line": 112,
          "column": 32
        },
        "end": {
          "line": 112,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3666,
      "end": 3670,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3670,
      "end": 3671,
      "loc": {
        "start": {
          "line": 113,
          "column": 12
        },
        "end": {
          "line": 113,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3671,
      "end": 3675,
      "loc": {
        "start": {
          "line": 113,
          "column": 13
        },
        "end": {
          "line": 113,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3676,
      "end": 3677,
      "loc": {
        "start": {
          "line": 113,
          "column": 18
        },
        "end": {
          "line": 113,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3678,
      "end": 3682,
      "loc": {
        "start": {
          "line": 113,
          "column": 20
        },
        "end": {
          "line": 113,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3682,
      "end": 3683,
      "loc": {
        "start": {
          "line": 113,
          "column": 24
        },
        "end": {
          "line": 113,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 3692,
      "end": 3695,
      "loc": {
        "start": {
          "line": 114,
          "column": 8
        },
        "end": {
          "line": 114,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3696,
      "end": 3697,
      "loc": {
        "start": {
          "line": 114,
          "column": 12
        },
        "end": {
          "line": 114,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3697,
      "end": 3700,
      "loc": {
        "start": {
          "line": 114,
          "column": 13
        },
        "end": {
          "line": 114,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3701,
      "end": 3703,
      "loc": {
        "start": {
          "line": 114,
          "column": 17
        },
        "end": {
          "line": 114,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 3704,
      "end": 3706,
      "loc": {
        "start": {
          "line": 114,
          "column": 20
        },
        "end": {
          "line": 114,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3707,
      "end": 3711,
      "loc": {
        "start": {
          "line": 114,
          "column": 23
        },
        "end": {
          "line": 114,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3711,
      "end": 3712,
      "loc": {
        "start": {
          "line": 114,
          "column": 27
        },
        "end": {
          "line": 114,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 3712,
      "end": 3723,
      "loc": {
        "start": {
          "line": 114,
          "column": 28
        },
        "end": {
          "line": 114,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3723,
      "end": 3724,
      "loc": {
        "start": {
          "line": 114,
          "column": 39
        },
        "end": {
          "line": 114,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 3724,
      "end": 3728,
      "loc": {
        "start": {
          "line": 114,
          "column": 40
        },
        "end": {
          "line": 114,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3728,
      "end": 3729,
      "loc": {
        "start": {
          "line": 114,
          "column": 44
        },
        "end": {
          "line": 114,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3729,
      "end": 3730,
      "loc": {
        "start": {
          "line": 114,
          "column": 45
        },
        "end": {
          "line": 114,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3730,
      "end": 3731,
      "loc": {
        "start": {
          "line": 114,
          "column": 46
        },
        "end": {
          "line": 114,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3744,
      "end": 3748,
      "loc": {
        "start": {
          "line": 115,
          "column": 12
        },
        "end": {
          "line": 115,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3748,
      "end": 3749,
      "loc": {
        "start": {
          "line": 115,
          "column": 16
        },
        "end": {
          "line": 115,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setVisibility",
      "start": 3749,
      "end": 3762,
      "loc": {
        "start": {
          "line": 115,
          "column": 17
        },
        "end": {
          "line": 115,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3762,
      "end": 3763,
      "loc": {
        "start": {
          "line": 115,
          "column": 30
        },
        "end": {
          "line": 115,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 3763,
      "end": 3765,
      "loc": {
        "start": {
          "line": 115,
          "column": 31
        },
        "end": {
          "line": 115,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3765,
      "end": 3766,
      "loc": {
        "start": {
          "line": 115,
          "column": 33
        },
        "end": {
          "line": 115,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3766,
      "end": 3767,
      "loc": {
        "start": {
          "line": 115,
          "column": 34
        },
        "end": {
          "line": 115,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3776,
      "end": 3780,
      "loc": {
        "start": {
          "line": 116,
          "column": 8
        },
        "end": {
          "line": 116,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3780,
      "end": 3781,
      "loc": {
        "start": {
          "line": 116,
          "column": 12
        },
        "end": {
          "line": 116,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "refresh",
      "start": 3781,
      "end": 3788,
      "loc": {
        "start": {
          "line": 116,
          "column": 13
        },
        "end": {
          "line": 116,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3788,
      "end": 3789,
      "loc": {
        "start": {
          "line": 116,
          "column": 20
        },
        "end": {
          "line": 116,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3789,
      "end": 3790,
      "loc": {
        "start": {
          "line": 116,
          "column": 21
        },
        "end": {
          "line": 116,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3790,
      "end": 3791,
      "loc": {
        "start": {
          "line": 116,
          "column": 22
        },
        "end": {
          "line": 116,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3796,
      "end": 3797,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: called before each frame is rendered",
      "start": 3803,
      "end": 3847,
      "loc": {
        "start": {
          "line": 119,
          "column": 4
        },
        "end": {
          "line": 119,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "sets proper positions for all constraint graphics",
      "start": 3852,
      "end": 3903,
      "loc": {
        "start": {
          "line": 120,
          "column": 4
        },
        "end": {
          "line": 120,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "render",
      "start": 3908,
      "end": 3914,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 121,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3914,
      "end": 3915,
      "loc": {
        "start": {
          "line": 121,
          "column": 10
        },
        "end": {
          "line": 121,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3915,
      "end": 3916,
      "loc": {
        "start": {
          "line": 121,
          "column": 11
        },
        "end": {
          "line": 121,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3917,
      "end": 3918,
      "loc": {
        "start": {
          "line": 121,
          "column": 13
        },
        "end": {
          "line": 121,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3927,
      "end": 3929,
      "loc": {
        "start": {
          "line": 122,
          "column": 8
        },
        "end": {
          "line": 122,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3930,
      "end": 3931,
      "loc": {
        "start": {
          "line": 122,
          "column": 11
        },
        "end": {
          "line": 122,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 3931,
      "end": 3932,
      "loc": {
        "start": {
          "line": 122,
          "column": 12
        },
        "end": {
          "line": 122,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3932,
      "end": 3936,
      "loc": {
        "start": {
          "line": 122,
          "column": 13
        },
        "end": {
          "line": 122,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3936,
      "end": 3937,
      "loc": {
        "start": {
          "line": 122,
          "column": 17
        },
        "end": {
          "line": 122,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphicsDirty",
      "start": 3937,
      "end": 3950,
      "loc": {
        "start": {
          "line": 122,
          "column": 18
        },
        "end": {
          "line": 122,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3950,
      "end": 3951,
      "loc": {
        "start": {
          "line": 122,
          "column": 31
        },
        "end": {
          "line": 122,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3964,
      "end": 3970,
      "loc": {
        "start": {
          "line": 123,
          "column": 12
        },
        "end": {
          "line": 123,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3970,
      "end": 3971,
      "loc": {
        "start": {
          "line": 123,
          "column": 18
        },
        "end": {
          "line": 123,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3980,
      "end": 3984,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3984,
      "end": 3985,
      "loc": {
        "start": {
          "line": 124,
          "column": 12
        },
        "end": {
          "line": 124,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphicsDirty",
      "start": 3985,
      "end": 3998,
      "loc": {
        "start": {
          "line": 124,
          "column": 13
        },
        "end": {
          "line": 124,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3999,
      "end": 4000,
      "loc": {
        "start": {
          "line": 124,
          "column": 27
        },
        "end": {
          "line": 124,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 4001,
      "end": 4006,
      "loc": {
        "start": {
          "line": 124,
          "column": 29
        },
        "end": {
          "line": 124,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4006,
      "end": 4007,
      "loc": {
        "start": {
          "line": 124,
          "column": 34
        },
        "end": {
          "line": 124,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4016,
      "end": 4021,
      "loc": {
        "start": {
          "line": 125,
          "column": 8
        },
        "end": {
          "line": 125,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 4022,
      "end": 4030,
      "loc": {
        "start": {
          "line": 125,
          "column": 14
        },
        "end": {
          "line": 125,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4031,
      "end": 4032,
      "loc": {
        "start": {
          "line": 125,
          "column": 23
        },
        "end": {
          "line": 125,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 3,
      "start": 4033,
      "end": 4034,
      "loc": {
        "start": {
          "line": 125,
          "column": 25
        },
        "end": {
          "line": 125,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 4035,
      "end": 4036,
      "loc": {
        "start": {
          "line": 125,
          "column": 27
        },
        "end": {
          "line": 125,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4037,
      "end": 4041,
      "loc": {
        "start": {
          "line": 125,
          "column": 29
        },
        "end": {
          "line": 125,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4041,
      "end": 4042,
      "loc": {
        "start": {
          "line": 125,
          "column": 33
        },
        "end": {
          "line": 125,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 4042,
      "end": 4050,
      "loc": {
        "start": {
          "line": 125,
          "column": 34
        },
        "end": {
          "line": 125,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4050,
      "end": 4051,
      "loc": {
        "start": {
          "line": 125,
          "column": 42
        },
        "end": {
          "line": 125,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphicScale",
      "start": 4051,
      "end": 4063,
      "loc": {
        "start": {
          "line": 125,
          "column": 43
        },
        "end": {
          "line": 125,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4063,
      "end": 4064,
      "loc": {
        "start": {
          "line": 125,
          "column": 55
        },
        "end": {
          "line": 125,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "determine for each base entity the array of all constraints drawn near it",
      "start": 4074,
      "end": 4149,
      "loc": {
        "start": {
          "line": 127,
          "column": 8
        },
        "end": {
          "line": 127,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4158,
      "end": 4161,
      "loc": {
        "start": {
          "line": 128,
          "column": 8
        },
        "end": {
          "line": 128,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4162,
      "end": 4176,
      "loc": {
        "start": {
          "line": 128,
          "column": 12
        },
        "end": {
          "line": 128,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4177,
      "end": 4178,
      "loc": {
        "start": {
          "line": 128,
          "column": 27
        },
        "end": {
          "line": 128,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4179,
      "end": 4182,
      "loc": {
        "start": {
          "line": 128,
          "column": 29
        },
        "end": {
          "line": 128,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Map",
      "start": 4183,
      "end": 4186,
      "loc": {
        "start": {
          "line": 128,
          "column": 33
        },
        "end": {
          "line": 128,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4186,
      "end": 4187,
      "loc": {
        "start": {
          "line": 128,
          "column": 36
        },
        "end": {
          "line": 128,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4187,
      "end": 4188,
      "loc": {
        "start": {
          "line": 128,
          "column": 37
        },
        "end": {
          "line": 128,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4188,
      "end": 4189,
      "loc": {
        "start": {
          "line": 128,
          "column": 38
        },
        "end": {
          "line": 128,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 4198,
      "end": 4201,
      "loc": {
        "start": {
          "line": 129,
          "column": 8
        },
        "end": {
          "line": 129,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4202,
      "end": 4203,
      "loc": {
        "start": {
          "line": 129,
          "column": 12
        },
        "end": {
          "line": 129,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4203,
      "end": 4206,
      "loc": {
        "start": {
          "line": 129,
          "column": 13
        },
        "end": {
          "line": 129,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conId",
      "start": 4207,
      "end": 4212,
      "loc": {
        "start": {
          "line": 129,
          "column": 17
        },
        "end": {
          "line": 129,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 4213,
      "end": 4215,
      "loc": {
        "start": {
          "line": 129,
          "column": 23
        },
        "end": {
          "line": 129,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4216,
      "end": 4220,
      "loc": {
        "start": {
          "line": 129,
          "column": 26
        },
        "end": {
          "line": 129,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4220,
      "end": 4221,
      "loc": {
        "start": {
          "line": 129,
          "column": 30
        },
        "end": {
          "line": 129,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 4221,
      "end": 4232,
      "loc": {
        "start": {
          "line": 129,
          "column": 31
        },
        "end": {
          "line": 129,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4232,
      "end": 4233,
      "loc": {
        "start": {
          "line": 129,
          "column": 42
        },
        "end": {
          "line": 129,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 4233,
      "end": 4237,
      "loc": {
        "start": {
          "line": 129,
          "column": 43
        },
        "end": {
          "line": 129,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4237,
      "end": 4238,
      "loc": {
        "start": {
          "line": 129,
          "column": 47
        },
        "end": {
          "line": 129,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4238,
      "end": 4239,
      "loc": {
        "start": {
          "line": 129,
          "column": 48
        },
        "end": {
          "line": 129,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4239,
      "end": 4240,
      "loc": {
        "start": {
          "line": 129,
          "column": 49
        },
        "end": {
          "line": 129,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4241,
      "end": 4242,
      "loc": {
        "start": {
          "line": 129,
          "column": 51
        },
        "end": {
          "line": 129,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4255,
      "end": 4258,
      "loc": {
        "start": {
          "line": 130,
          "column": 12
        },
        "end": {
          "line": 130,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constr",
      "start": 4259,
      "end": 4265,
      "loc": {
        "start": {
          "line": 130,
          "column": 16
        },
        "end": {
          "line": 130,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4266,
      "end": 4267,
      "loc": {
        "start": {
          "line": 130,
          "column": 23
        },
        "end": {
          "line": 130,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4268,
      "end": 4271,
      "loc": {
        "start": {
          "line": 130,
          "column": 25
        },
        "end": {
          "line": 130,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 4272,
      "end": 4277,
      "loc": {
        "start": {
          "line": 130,
          "column": 29
        },
        "end": {
          "line": 130,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4277,
      "end": 4278,
      "loc": {
        "start": {
          "line": 130,
          "column": 34
        },
        "end": {
          "line": 130,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4278,
      "end": 4282,
      "loc": {
        "start": {
          "line": 130,
          "column": 35
        },
        "end": {
          "line": 130,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4282,
      "end": 4283,
      "loc": {
        "start": {
          "line": 130,
          "column": 39
        },
        "end": {
          "line": 130,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 4283,
      "end": 4291,
      "loc": {
        "start": {
          "line": 130,
          "column": 40
        },
        "end": {
          "line": 130,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4291,
      "end": 4292,
      "loc": {
        "start": {
          "line": 130,
          "column": 48
        },
        "end": {
          "line": 130,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conId",
      "start": 4293,
      "end": 4298,
      "loc": {
        "start": {
          "line": 130,
          "column": 50
        },
        "end": {
          "line": 130,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4298,
      "end": 4299,
      "loc": {
        "start": {
          "line": 130,
          "column": 55
        },
        "end": {
          "line": 130,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4299,
      "end": 4300,
      "loc": {
        "start": {
          "line": 130,
          "column": 56
        },
        "end": {
          "line": 130,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4313,
      "end": 4315,
      "loc": {
        "start": {
          "line": 131,
          "column": 12
        },
        "end": {
          "line": 131,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4316,
      "end": 4317,
      "loc": {
        "start": {
          "line": 131,
          "column": 15
        },
        "end": {
          "line": 131,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4317,
      "end": 4318,
      "loc": {
        "start": {
          "line": 131,
          "column": 16
        },
        "end": {
          "line": 131,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constr",
      "start": 4318,
      "end": 4324,
      "loc": {
        "start": {
          "line": 131,
          "column": 17
        },
        "end": {
          "line": 131,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4324,
      "end": 4325,
      "loc": {
        "start": {
          "line": 131,
          "column": 23
        },
        "end": {
          "line": 131,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphics",
      "start": 4325,
      "end": 4333,
      "loc": {
        "start": {
          "line": 131,
          "column": 24
        },
        "end": {
          "line": 131,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4333,
      "end": 4334,
      "loc": {
        "start": {
          "line": 131,
          "column": 32
        },
        "end": {
          "line": 131,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "visible",
      "start": 4334,
      "end": 4341,
      "loc": {
        "start": {
          "line": 131,
          "column": 33
        },
        "end": {
          "line": 131,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4341,
      "end": 4342,
      "loc": {
        "start": {
          "line": 131,
          "column": 40
        },
        "end": {
          "line": 131,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "continue",
        "keyword": "continue",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "continue",
      "start": 4359,
      "end": 4367,
      "loc": {
        "start": {
          "line": 132,
          "column": 16
        },
        "end": {
          "line": 132,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4367,
      "end": 4368,
      "loc": {
        "start": {
          "line": 132,
          "column": 24
        },
        "end": {
          "line": 132,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4382,
      "end": 4385,
      "loc": {
        "start": {
          "line": 134,
          "column": 12
        },
        "end": {
          "line": 134,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseId",
      "start": 4386,
      "end": 4392,
      "loc": {
        "start": {
          "line": 134,
          "column": 16
        },
        "end": {
          "line": 134,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4393,
      "end": 4394,
      "loc": {
        "start": {
          "line": 134,
          "column": 23
        },
        "end": {
          "line": 134,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4395,
      "end": 4399,
      "loc": {
        "start": {
          "line": 134,
          "column": 25
        },
        "end": {
          "line": 134,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4399,
      "end": 4400,
      "loc": {
        "start": {
          "line": 134,
          "column": 29
        },
        "end": {
          "line": 134,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getBaseEntityId",
      "start": 4400,
      "end": 4415,
      "loc": {
        "start": {
          "line": 134,
          "column": 30
        },
        "end": {
          "line": 134,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4415,
      "end": 4416,
      "loc": {
        "start": {
          "line": 134,
          "column": 45
        },
        "end": {
          "line": 134,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conId",
      "start": 4416,
      "end": 4421,
      "loc": {
        "start": {
          "line": 134,
          "column": 46
        },
        "end": {
          "line": 134,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4421,
      "end": 4422,
      "loc": {
        "start": {
          "line": 134,
          "column": 51
        },
        "end": {
          "line": 134,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4422,
      "end": 4423,
      "loc": {
        "start": {
          "line": 134,
          "column": 52
        },
        "end": {
          "line": 134,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4436,
      "end": 4438,
      "loc": {
        "start": {
          "line": 135,
          "column": 12
        },
        "end": {
          "line": 135,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4439,
      "end": 4440,
      "loc": {
        "start": {
          "line": 135,
          "column": 15
        },
        "end": {
          "line": 135,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4440,
      "end": 4441,
      "loc": {
        "start": {
          "line": 135,
          "column": 16
        },
        "end": {
          "line": 135,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4441,
      "end": 4455,
      "loc": {
        "start": {
          "line": 135,
          "column": 17
        },
        "end": {
          "line": 135,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4455,
      "end": 4456,
      "loc": {
        "start": {
          "line": 135,
          "column": 31
        },
        "end": {
          "line": 135,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "has",
      "start": 4456,
      "end": 4459,
      "loc": {
        "start": {
          "line": 135,
          "column": 32
        },
        "end": {
          "line": 135,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4459,
      "end": 4460,
      "loc": {
        "start": {
          "line": 135,
          "column": 35
        },
        "end": {
          "line": 135,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseId",
      "start": 4460,
      "end": 4466,
      "loc": {
        "start": {
          "line": 135,
          "column": 36
        },
        "end": {
          "line": 135,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4466,
      "end": 4467,
      "loc": {
        "start": {
          "line": 135,
          "column": 42
        },
        "end": {
          "line": 135,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4467,
      "end": 4468,
      "loc": {
        "start": {
          "line": 135,
          "column": 43
        },
        "end": {
          "line": 135,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4485,
      "end": 4499,
      "loc": {
        "start": {
          "line": 136,
          "column": 16
        },
        "end": {
          "line": 136,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4499,
      "end": 4500,
      "loc": {
        "start": {
          "line": 136,
          "column": 30
        },
        "end": {
          "line": 136,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 4500,
      "end": 4503,
      "loc": {
        "start": {
          "line": 136,
          "column": 31
        },
        "end": {
          "line": 136,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4503,
      "end": 4504,
      "loc": {
        "start": {
          "line": 136,
          "column": 34
        },
        "end": {
          "line": 136,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseId",
      "start": 4504,
      "end": 4510,
      "loc": {
        "start": {
          "line": 136,
          "column": 35
        },
        "end": {
          "line": 136,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4510,
      "end": 4511,
      "loc": {
        "start": {
          "line": 136,
          "column": 41
        },
        "end": {
          "line": 136,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4512,
      "end": 4513,
      "loc": {
        "start": {
          "line": 136,
          "column": 43
        },
        "end": {
          "line": 136,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4513,
      "end": 4514,
      "loc": {
        "start": {
          "line": 136,
          "column": 44
        },
        "end": {
          "line": 136,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4514,
      "end": 4515,
      "loc": {
        "start": {
          "line": 136,
          "column": 45
        },
        "end": {
          "line": 136,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4515,
      "end": 4516,
      "loc": {
        "start": {
          "line": 136,
          "column": 46
        },
        "end": {
          "line": 136,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4529,
      "end": 4543,
      "loc": {
        "start": {
          "line": 137,
          "column": 12
        },
        "end": {
          "line": 137,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4543,
      "end": 4544,
      "loc": {
        "start": {
          "line": 137,
          "column": 26
        },
        "end": {
          "line": 137,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 4544,
      "end": 4547,
      "loc": {
        "start": {
          "line": 137,
          "column": 27
        },
        "end": {
          "line": 137,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4547,
      "end": 4548,
      "loc": {
        "start": {
          "line": 137,
          "column": 30
        },
        "end": {
          "line": 137,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseId",
      "start": 4548,
      "end": 4554,
      "loc": {
        "start": {
          "line": 137,
          "column": 31
        },
        "end": {
          "line": 137,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4554,
      "end": 4555,
      "loc": {
        "start": {
          "line": 137,
          "column": 37
        },
        "end": {
          "line": 137,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4555,
      "end": 4556,
      "loc": {
        "start": {
          "line": 137,
          "column": 38
        },
        "end": {
          "line": 137,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 4556,
      "end": 4560,
      "loc": {
        "start": {
          "line": 137,
          "column": 39
        },
        "end": {
          "line": 137,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4560,
      "end": 4561,
      "loc": {
        "start": {
          "line": 137,
          "column": 43
        },
        "end": {
          "line": 137,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conId",
      "start": 4561,
      "end": 4566,
      "loc": {
        "start": {
          "line": 137,
          "column": 44
        },
        "end": {
          "line": 137,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4566,
      "end": 4567,
      "loc": {
        "start": {
          "line": 137,
          "column": 49
        },
        "end": {
          "line": 137,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4567,
      "end": 4568,
      "loc": {
        "start": {
          "line": 137,
          "column": 50
        },
        "end": {
          "line": 137,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4577,
      "end": 4578,
      "loc": {
        "start": {
          "line": 138,
          "column": 8
        },
        "end": {
          "line": 138,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4587,
      "end": 4589,
      "loc": {
        "start": {
          "line": 139,
          "column": 8
        },
        "end": {
          "line": 139,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4590,
      "end": 4591,
      "loc": {
        "start": {
          "line": 139,
          "column": 11
        },
        "end": {
          "line": 139,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4591,
      "end": 4605,
      "loc": {
        "start": {
          "line": 139,
          "column": 12
        },
        "end": {
          "line": 139,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4605,
      "end": 4606,
      "loc": {
        "start": {
          "line": 139,
          "column": 26
        },
        "end": {
          "line": 139,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "size",
      "start": 4606,
      "end": 4610,
      "loc": {
        "start": {
          "line": 139,
          "column": 27
        },
        "end": {
          "line": 139,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4611,
      "end": 4614,
      "loc": {
        "start": {
          "line": 139,
          "column": 32
        },
        "end": {
          "line": 139,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4615,
      "end": 4616,
      "loc": {
        "start": {
          "line": 139,
          "column": 36
        },
        "end": {
          "line": 139,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4616,
      "end": 4617,
      "loc": {
        "start": {
          "line": 139,
          "column": 37
        },
        "end": {
          "line": 139,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4630,
      "end": 4636,
      "loc": {
        "start": {
          "line": 140,
          "column": 12
        },
        "end": {
          "line": 140,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4636,
      "end": 4637,
      "loc": {
        "start": {
          "line": 140,
          "column": 18
        },
        "end": {
          "line": 140,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "create rectangle filled with constraints icons for each base entity",
      "start": 4647,
      "end": 4716,
      "loc": {
        "start": {
          "line": 142,
          "column": 8
        },
        "end": {
          "line": 142,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4725,
      "end": 4728,
      "loc": {
        "start": {
          "line": 143,
          "column": 8
        },
        "end": {
          "line": 143,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectangles",
      "start": 4729,
      "end": 4739,
      "loc": {
        "start": {
          "line": 143,
          "column": 12
        },
        "end": {
          "line": 143,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4740,
      "end": 4741,
      "loc": {
        "start": {
          "line": 143,
          "column": 23
        },
        "end": {
          "line": 143,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Array",
      "start": 4742,
      "end": 4747,
      "loc": {
        "start": {
          "line": 143,
          "column": 25
        },
        "end": {
          "line": 143,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4747,
      "end": 4748,
      "loc": {
        "start": {
          "line": 143,
          "column": 30
        },
        "end": {
          "line": 143,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 4748,
      "end": 4752,
      "loc": {
        "start": {
          "line": 143,
          "column": 31
        },
        "end": {
          "line": 143,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4752,
      "end": 4753,
      "loc": {
        "start": {
          "line": 143,
          "column": 35
        },
        "end": {
          "line": 143,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4753,
      "end": 4767,
      "loc": {
        "start": {
          "line": 143,
          "column": 36
        },
        "end": {
          "line": 143,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4767,
      "end": 4768,
      "loc": {
        "start": {
          "line": 143,
          "column": 50
        },
        "end": {
          "line": 143,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 4768,
      "end": 4772,
      "loc": {
        "start": {
          "line": 143,
          "column": 51
        },
        "end": {
          "line": 143,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4772,
      "end": 4773,
      "loc": {
        "start": {
          "line": 143,
          "column": 55
        },
        "end": {
          "line": 143,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4773,
      "end": 4774,
      "loc": {
        "start": {
          "line": 143,
          "column": 56
        },
        "end": {
          "line": 143,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4774,
      "end": 4775,
      "loc": {
        "start": {
          "line": 143,
          "column": 57
        },
        "end": {
          "line": 143,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4775,
      "end": 4776,
      "loc": {
        "start": {
          "line": 143,
          "column": 58
        },
        "end": {
          "line": 143,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "map",
      "start": 4776,
      "end": 4779,
      "loc": {
        "start": {
          "line": 143,
          "column": 59
        },
        "end": {
          "line": 143,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4779,
      "end": 4780,
      "loc": {
        "start": {
          "line": 143,
          "column": 62
        },
        "end": {
          "line": 143,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 4780,
      "end": 4782,
      "loc": {
        "start": {
          "line": 143,
          "column": 63
        },
        "end": {
          "line": 143,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4783,
      "end": 4785,
      "loc": {
        "start": {
          "line": 143,
          "column": 66
        },
        "end": {
          "line": 143,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4786,
      "end": 4787,
      "loc": {
        "start": {
          "line": 143,
          "column": 69
        },
        "end": {
          "line": 143,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4800,
      "end": 4806,
      "loc": {
        "start": {
          "line": 144,
          "column": 12
        },
        "end": {
          "line": 144,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4807,
      "end": 4808,
      "loc": {
        "start": {
          "line": 144,
          "column": 19
        },
        "end": {
          "line": 144,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 4823,
      "end": 4825,
      "loc": {
        "start": {
          "line": 145,
          "column": 14
        },
        "end": {
          "line": 145,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4825,
      "end": 4826,
      "loc": {
        "start": {
          "line": 145,
          "column": 16
        },
        "end": {
          "line": 145,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 4841,
      "end": 4847,
      "loc": {
        "start": {
          "line": 146,
          "column": 14
        },
        "end": {
          "line": 146,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4847,
      "end": 4848,
      "loc": {
        "start": {
          "line": 146,
          "column": 20
        },
        "end": {
          "line": 146,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4849,
      "end": 4853,
      "loc": {
        "start": {
          "line": 146,
          "column": 22
        },
        "end": {
          "line": 146,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4853,
      "end": 4854,
      "loc": {
        "start": {
          "line": 146,
          "column": 26
        },
        "end": {
          "line": 146,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getKeyPosition",
      "start": 4854,
      "end": 4868,
      "loc": {
        "start": {
          "line": 146,
          "column": 27
        },
        "end": {
          "line": 146,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4868,
      "end": 4869,
      "loc": {
        "start": {
          "line": 146,
          "column": 41
        },
        "end": {
          "line": 146,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 4869,
      "end": 4871,
      "loc": {
        "start": {
          "line": 146,
          "column": 42
        },
        "end": {
          "line": 146,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4871,
      "end": 4872,
      "loc": {
        "start": {
          "line": 146,
          "column": 44
        },
        "end": {
          "line": 146,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4872,
      "end": 4873,
      "loc": {
        "start": {
          "line": 146,
          "column": 45
        },
        "end": {
          "line": 146,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 4888,
      "end": 4891,
      "loc": {
        "start": {
          "line": 147,
          "column": 14
        },
        "end": {
          "line": 147,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4891,
      "end": 4892,
      "loc": {
        "start": {
          "line": 147,
          "column": 17
        },
        "end": {
          "line": 147,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 4893,
      "end": 4907,
      "loc": {
        "start": {
          "line": 147,
          "column": 19
        },
        "end": {
          "line": 147,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4907,
      "end": 4908,
      "loc": {
        "start": {
          "line": 147,
          "column": 33
        },
        "end": {
          "line": 147,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 4908,
      "end": 4911,
      "loc": {
        "start": {
          "line": 147,
          "column": 34
        },
        "end": {
          "line": 147,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4911,
      "end": 4912,
      "loc": {
        "start": {
          "line": 147,
          "column": 37
        },
        "end": {
          "line": 147,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 4912,
      "end": 4914,
      "loc": {
        "start": {
          "line": 147,
          "column": 38
        },
        "end": {
          "line": 147,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4914,
      "end": 4915,
      "loc": {
        "start": {
          "line": 147,
          "column": 40
        },
        "end": {
          "line": 147,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4915,
      "end": 4916,
      "loc": {
        "start": {
          "line": 147,
          "column": 41
        },
        "end": {
          "line": 147,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4916,
      "end": 4922,
      "loc": {
        "start": {
          "line": 147,
          "column": 42
        },
        "end": {
          "line": 147,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4922,
      "end": 4923,
      "loc": {
        "start": {
          "line": 147,
          "column": 48
        },
        "end": {
          "line": 147,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4936,
      "end": 4937,
      "loc": {
        "start": {
          "line": 148,
          "column": 12
        },
        "end": {
          "line": 148,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4937,
      "end": 4938,
      "loc": {
        "start": {
          "line": 148,
          "column": 13
        },
        "end": {
          "line": 148,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4947,
      "end": 4948,
      "loc": {
        "start": {
          "line": 149,
          "column": 8
        },
        "end": {
          "line": 149,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4948,
      "end": 4949,
      "loc": {
        "start": {
          "line": 149,
          "column": 9
        },
        "end": {
          "line": 149,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4949,
      "end": 4950,
      "loc": {
        "start": {
          "line": 149,
          "column": 10
        },
        "end": {
          "line": 149,
          "column": 11
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "sort base entities (for stability)",
      "start": 4959,
      "end": 4995,
      "loc": {
        "start": {
          "line": 150,
          "column": 8
        },
        "end": {
          "line": 150,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectangles",
      "start": 5004,
      "end": 5014,
      "loc": {
        "start": {
          "line": 151,
          "column": 8
        },
        "end": {
          "line": 151,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5014,
      "end": 5015,
      "loc": {
        "start": {
          "line": 151,
          "column": 18
        },
        "end": {
          "line": 151,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sort",
      "start": 5015,
      "end": 5019,
      "loc": {
        "start": {
          "line": 151,
          "column": 19
        },
        "end": {
          "line": 151,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5019,
      "end": 5020,
      "loc": {
        "start": {
          "line": 151,
          "column": 23
        },
        "end": {
          "line": 151,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5020,
      "end": 5021,
      "loc": {
        "start": {
          "line": 151,
          "column": 24
        },
        "end": {
          "line": 151,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "a",
      "start": 5021,
      "end": 5022,
      "loc": {
        "start": {
          "line": 151,
          "column": 25
        },
        "end": {
          "line": 151,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5022,
      "end": 5023,
      "loc": {
        "start": {
          "line": 151,
          "column": 26
        },
        "end": {
          "line": 151,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 5024,
      "end": 5025,
      "loc": {
        "start": {
          "line": 151,
          "column": 28
        },
        "end": {
          "line": 151,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5025,
      "end": 5026,
      "loc": {
        "start": {
          "line": 151,
          "column": 29
        },
        "end": {
          "line": 151,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5027,
      "end": 5029,
      "loc": {
        "start": {
          "line": 151,
          "column": 31
        },
        "end": {
          "line": 151,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5030,
      "end": 5031,
      "loc": {
        "start": {
          "line": 151,
          "column": 34
        },
        "end": {
          "line": 151,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5044,
      "end": 5050,
      "loc": {
        "start": {
          "line": 152,
          "column": 12
        },
        "end": {
          "line": 152,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "a",
      "start": 5051,
      "end": 5052,
      "loc": {
        "start": {
          "line": 152,
          "column": 19
        },
        "end": {
          "line": 152,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5052,
      "end": 5053,
      "loc": {
        "start": {
          "line": 152,
          "column": 20
        },
        "end": {
          "line": 152,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 5053,
      "end": 5055,
      "loc": {
        "start": {
          "line": 152,
          "column": 21
        },
        "end": {
          "line": 152,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 5056,
      "end": 5057,
      "loc": {
        "start": {
          "line": 152,
          "column": 24
        },
        "end": {
          "line": 152,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 5058,
      "end": 5059,
      "loc": {
        "start": {
          "line": 152,
          "column": 26
        },
        "end": {
          "line": 152,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5059,
      "end": 5060,
      "loc": {
        "start": {
          "line": 152,
          "column": 27
        },
        "end": {
          "line": 152,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 5060,
      "end": 5062,
      "loc": {
        "start": {
          "line": 152,
          "column": 28
        },
        "end": {
          "line": 152,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5062,
      "end": 5063,
      "loc": {
        "start": {
          "line": 152,
          "column": 30
        },
        "end": {
          "line": 152,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5072,
      "end": 5073,
      "loc": {
        "start": {
          "line": 153,
          "column": 8
        },
        "end": {
          "line": 153,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5073,
      "end": 5074,
      "loc": {
        "start": {
          "line": 153,
          "column": 9
        },
        "end": {
          "line": 153,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5074,
      "end": 5075,
      "loc": {
        "start": {
          "line": 153,
          "column": 10
        },
        "end": {
          "line": 153,
          "column": 11
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "minimal distance between rectangles (in iconSize units)",
      "start": 5085,
      "end": 5142,
      "loc": {
        "start": {
          "line": 155,
          "column": 8
        },
        "end": {
          "line": 155,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5151,
      "end": 5156,
      "loc": {
        "start": {
          "line": 156,
          "column": 8
        },
        "end": {
          "line": 156,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "colEps",
      "start": 5157,
      "end": 5163,
      "loc": {
        "start": {
          "line": 156,
          "column": 14
        },
        "end": {
          "line": 156,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5164,
      "end": 5165,
      "loc": {
        "start": {
          "line": 156,
          "column": 21
        },
        "end": {
          "line": 156,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.5,
      "start": 5166,
      "end": 5169,
      "loc": {
        "start": {
          "line": 156,
          "column": 23
        },
        "end": {
          "line": 156,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5169,
      "end": 5170,
      "loc": {
        "start": {
          "line": 156,
          "column": 26
        },
        "end": {
          "line": 156,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "minimal vertical distance from key position to rectangle's center (in iconSize units)",
      "start": 5179,
      "end": 5266,
      "loc": {
        "start": {
          "line": 157,
          "column": 8
        },
        "end": {
          "line": 157,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5275,
      "end": 5280,
      "loc": {
        "start": {
          "line": 158,
          "column": 8
        },
        "end": {
          "line": 158,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "minOffsetH",
      "start": 5281,
      "end": 5291,
      "loc": {
        "start": {
          "line": 158,
          "column": 14
        },
        "end": {
          "line": 158,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5292,
      "end": 5293,
      "loc": {
        "start": {
          "line": 158,
          "column": 25
        },
        "end": {
          "line": 158,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.75,
      "start": 5294,
      "end": 5298,
      "loc": {
        "start": {
          "line": 158,
          "column": 27
        },
        "end": {
          "line": 158,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5298,
      "end": 5299,
      "loc": {
        "start": {
          "line": 158,
          "column": 31
        },
        "end": {
          "line": 158,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "set positions for all entity lists (each one is rectangle)",
      "start": 5309,
      "end": 5369,
      "loc": {
        "start": {
          "line": 160,
          "column": 8
        },
        "end": {
          "line": 160,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 5378,
      "end": 5381,
      "loc": {
        "start": {
          "line": 161,
          "column": 8
        },
        "end": {
          "line": 161,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5382,
      "end": 5383,
      "loc": {
        "start": {
          "line": 161,
          "column": 12
        },
        "end": {
          "line": 161,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5383,
      "end": 5386,
      "loc": {
        "start": {
          "line": 161,
          "column": 13
        },
        "end": {
          "line": 161,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 5387,
      "end": 5388,
      "loc": {
        "start": {
          "line": 161,
          "column": 17
        },
        "end": {
          "line": 161,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5389,
      "end": 5390,
      "loc": {
        "start": {
          "line": 161,
          "column": 19
        },
        "end": {
          "line": 161,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 5391,
      "end": 5392,
      "loc": {
        "start": {
          "line": 161,
          "column": 21
        },
        "end": {
          "line": 161,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5392,
      "end": 5393,
      "loc": {
        "start": {
          "line": 161,
          "column": 22
        },
        "end": {
          "line": 161,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 5394,
      "end": 5395,
      "loc": {
        "start": {
          "line": 161,
          "column": 24
        },
        "end": {
          "line": 161,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 5396,
      "end": 5397,
      "loc": {
        "start": {
          "line": 161,
          "column": 26
        },
        "end": {
          "line": 161,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectangles",
      "start": 5398,
      "end": 5408,
      "loc": {
        "start": {
          "line": 161,
          "column": 28
        },
        "end": {
          "line": 161,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5408,
      "end": 5409,
      "loc": {
        "start": {
          "line": 161,
          "column": 38
        },
        "end": {
          "line": 161,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 5409,
      "end": 5415,
      "loc": {
        "start": {
          "line": 161,
          "column": 39
        },
        "end": {
          "line": 161,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5415,
      "end": 5416,
      "loc": {
        "start": {
          "line": 161,
          "column": 45
        },
        "end": {
          "line": 161,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 5417,
      "end": 5418,
      "loc": {
        "start": {
          "line": 161,
          "column": 47
        },
        "end": {
          "line": 161,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 5418,
      "end": 5420,
      "loc": {
        "start": {
          "line": 161,
          "column": 48
        },
        "end": {
          "line": 161,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5420,
      "end": 5421,
      "loc": {
        "start": {
          "line": 161,
          "column": 50
        },
        "end": {
          "line": 161,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5422,
      "end": 5423,
      "loc": {
        "start": {
          "line": 161,
          "column": 52
        },
        "end": {
          "line": 161,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5436,
      "end": 5439,
      "loc": {
        "start": {
          "line": 162,
          "column": 12
        },
        "end": {
          "line": 162,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 5440,
      "end": 5447,
      "loc": {
        "start": {
          "line": 162,
          "column": 16
        },
        "end": {
          "line": 162,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5448,
      "end": 5449,
      "loc": {
        "start": {
          "line": 162,
          "column": 24
        },
        "end": {
          "line": 162,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectangles",
      "start": 5450,
      "end": 5460,
      "loc": {
        "start": {
          "line": 162,
          "column": 26
        },
        "end": {
          "line": 162,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5460,
      "end": 5461,
      "loc": {
        "start": {
          "line": 162,
          "column": 36
        },
        "end": {
          "line": 162,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 5461,
      "end": 5462,
      "loc": {
        "start": {
          "line": 162,
          "column": 37
        },
        "end": {
          "line": 162,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5462,
      "end": 5463,
      "loc": {
        "start": {
          "line": 162,
          "column": 38
        },
        "end": {
          "line": 162,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5463,
      "end": 5464,
      "loc": {
        "start": {
          "line": 162,
          "column": 39
        },
        "end": {
          "line": 162,
          "column": 40
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "position of rectangle center, which is closest to key point",
      "start": 5478,
      "end": 5539,
      "loc": {
        "start": {
          "line": 164,
          "column": 12
        },
        "end": {
          "line": 164,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5552,
      "end": 5555,
      "loc": {
        "start": {
          "line": 165,
          "column": 12
        },
        "end": {
          "line": 165,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestDistSqr",
      "start": 5556,
      "end": 5567,
      "loc": {
        "start": {
          "line": 165,
          "column": 16
        },
        "end": {
          "line": 165,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5568,
      "end": 5569,
      "loc": {
        "start": {
          "line": 165,
          "column": 28
        },
        "end": {
          "line": 165,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1e+50,
      "start": 5570,
      "end": 5575,
      "loc": {
        "start": {
          "line": 165,
          "column": 30
        },
        "end": {
          "line": 165,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5575,
      "end": 5576,
      "loc": {
        "start": {
          "line": 165,
          "column": 35
        },
        "end": {
          "line": 165,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5589,
      "end": 5592,
      "loc": {
        "start": {
          "line": 166,
          "column": 12
        },
        "end": {
          "line": 166,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestX",
      "start": 5593,
      "end": 5598,
      "loc": {
        "start": {
          "line": 166,
          "column": 16
        },
        "end": {
          "line": 166,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5598,
      "end": 5599,
      "loc": {
        "start": {
          "line": 166,
          "column": 21
        },
        "end": {
          "line": 166,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestY",
      "start": 5600,
      "end": 5605,
      "loc": {
        "start": {
          "line": 166,
          "column": 23
        },
        "end": {
          "line": 166,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5605,
      "end": 5606,
      "loc": {
        "start": {
          "line": 166,
          "column": 28
        },
        "end": {
          "line": 166,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectanglePlaceLoop",
      "start": 5620,
      "end": 5638,
      "loc": {
        "start": {
          "line": 168,
          "column": 12
        },
        "end": {
          "line": 168,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5638,
      "end": 5639,
      "loc": {
        "start": {
          "line": 168,
          "column": 30
        },
        "end": {
          "line": 168,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 5652,
      "end": 5655,
      "loc": {
        "start": {
          "line": 169,
          "column": 12
        },
        "end": {
          "line": 169,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5656,
      "end": 5657,
      "loc": {
        "start": {
          "line": 169,
          "column": 16
        },
        "end": {
          "line": 169,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5657,
      "end": 5660,
      "loc": {
        "start": {
          "line": 169,
          "column": 17
        },
        "end": {
          "line": 169,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vk",
      "start": 5661,
      "end": 5663,
      "loc": {
        "start": {
          "line": 169,
          "column": 21
        },
        "end": {
          "line": 169,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5664,
      "end": 5665,
      "loc": {
        "start": {
          "line": 169,
          "column": 24
        },
        "end": {
          "line": 169,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 5666,
      "end": 5667,
      "loc": {
        "start": {
          "line": 169,
          "column": 26
        },
        "end": {
          "line": 169,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5667,
      "end": 5668,
      "loc": {
        "start": {
          "line": 169,
          "column": 27
        },
        "end": {
          "line": 169,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5669,
      "end": 5670,
      "loc": {
        "start": {
          "line": 169,
          "column": 29
        },
        "end": {
          "line": 169,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vk",
      "start": 5671,
      "end": 5673,
      "loc": {
        "start": {
          "line": 169,
          "column": 31
        },
        "end": {
          "line": 169,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 5673,
      "end": 5675,
      "loc": {
        "start": {
          "line": 169,
          "column": 33
        },
        "end": {
          "line": 169,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5675,
      "end": 5676,
      "loc": {
        "start": {
          "line": 169,
          "column": 35
        },
        "end": {
          "line": 169,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 5693,
      "end": 5696,
      "loc": {
        "start": {
          "line": 170,
          "column": 16
        },
        "end": {
          "line": 170,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5697,
      "end": 5698,
      "loc": {
        "start": {
          "line": 170,
          "column": 20
        },
        "end": {
          "line": 170,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5698,
      "end": 5701,
      "loc": {
        "start": {
          "line": 170,
          "column": 21
        },
        "end": {
          "line": 170,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vs",
      "start": 5702,
      "end": 5704,
      "loc": {
        "start": {
          "line": 170,
          "column": 25
        },
        "end": {
          "line": 170,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5705,
      "end": 5706,
      "loc": {
        "start": {
          "line": 170,
          "column": 28
        },
        "end": {
          "line": 170,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 5707,
      "end": 5708,
      "loc": {
        "start": {
          "line": 170,
          "column": 30
        },
        "end": {
          "line": 170,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5708,
      "end": 5709,
      "loc": {
        "start": {
          "line": 170,
          "column": 31
        },
        "end": {
          "line": 170,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vs",
      "start": 5710,
      "end": 5712,
      "loc": {
        "start": {
          "line": 170,
          "column": 33
        },
        "end": {
          "line": 170,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 5713,
      "end": 5715,
      "loc": {
        "start": {
          "line": 170,
          "column": 36
        },
        "end": {
          "line": 170,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 5716,
      "end": 5717,
      "loc": {
        "start": {
          "line": 170,
          "column": 39
        },
        "end": {
          "line": 170,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 5717,
      "end": 5718,
      "loc": {
        "start": {
          "line": 170,
          "column": 40
        },
        "end": {
          "line": 170,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5718,
      "end": 5719,
      "loc": {
        "start": {
          "line": 170,
          "column": 41
        },
        "end": {
          "line": 170,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vs",
      "start": 5720,
      "end": 5722,
      "loc": {
        "start": {
          "line": 170,
          "column": 43
        },
        "end": {
          "line": 170,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-=",
      "start": 5723,
      "end": 5725,
      "loc": {
        "start": {
          "line": 170,
          "column": 46
        },
        "end": {
          "line": 170,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 5726,
      "end": 5727,
      "loc": {
        "start": {
          "line": 170,
          "column": 49
        },
        "end": {
          "line": 170,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5727,
      "end": 5728,
      "loc": {
        "start": {
          "line": 170,
          "column": 50
        },
        "end": {
          "line": 170,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5729,
      "end": 5730,
      "loc": {
        "start": {
          "line": 170,
          "column": 52
        },
        "end": {
          "line": 170,
          "column": 53
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "try to put into the vertical slice:",
      "start": 5751,
      "end": 5788,
      "loc": {
        "start": {
          "line": 171,
          "column": 20
        },
        "end": {
          "line": 171,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5809,
      "end": 5812,
      "loc": {
        "start": {
          "line": 172,
          "column": 20
        },
        "end": {
          "line": 172,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cy",
      "start": 5813,
      "end": 5815,
      "loc": {
        "start": {
          "line": 172,
          "column": 24
        },
        "end": {
          "line": 172,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5816,
      "end": 5817,
      "loc": {
        "start": {
          "line": 172,
          "column": 27
        },
        "end": {
          "line": 172,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 5818,
      "end": 5825,
      "loc": {
        "start": {
          "line": 172,
          "column": 29
        },
        "end": {
          "line": 172,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5825,
      "end": 5826,
      "loc": {
        "start": {
          "line": 172,
          "column": 36
        },
        "end": {
          "line": 172,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 5826,
      "end": 5832,
      "loc": {
        "start": {
          "line": 172,
          "column": 37
        },
        "end": {
          "line": 172,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5832,
      "end": 5833,
      "loc": {
        "start": {
          "line": 172,
          "column": 43
        },
        "end": {
          "line": 172,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "y",
      "start": 5833,
      "end": 5834,
      "loc": {
        "start": {
          "line": 172,
          "column": 44
        },
        "end": {
          "line": 172,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 5835,
      "end": 5836,
      "loc": {
        "start": {
          "line": 172,
          "column": 46
        },
        "end": {
          "line": 172,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vs",
      "start": 5837,
      "end": 5839,
      "loc": {
        "start": {
          "line": 172,
          "column": 48
        },
        "end": {
          "line": 172,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 5840,
      "end": 5841,
      "loc": {
        "start": {
          "line": 172,
          "column": 51
        },
        "end": {
          "line": 172,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5842,
      "end": 5843,
      "loc": {
        "start": {
          "line": 172,
          "column": 53
        },
        "end": {
          "line": 172,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "minOffsetH",
      "start": 5843,
      "end": 5853,
      "loc": {
        "start": {
          "line": 172,
          "column": 54
        },
        "end": {
          "line": 172,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 5854,
      "end": 5855,
      "loc": {
        "start": {
          "line": 172,
          "column": 65
        },
        "end": {
          "line": 172,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "vk",
      "start": 5856,
      "end": 5858,
      "loc": {
        "start": {
          "line": 172,
          "column": 67
        },
        "end": {
          "line": 172,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 5859,
      "end": 5860,
      "loc": {
        "start": {
          "line": 172,
          "column": 70
        },
        "end": {
          "line": 172,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5861,
      "end": 5862,
      "loc": {
        "start": {
          "line": 172,
          "column": 72
        },
        "end": {
          "line": 172,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 5862,
      "end": 5863,
      "loc": {
        "start": {
          "line": 172,
          "column": 73
        },
        "end": {
          "line": 172,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 5864,
      "end": 5865,
      "loc": {
        "start": {
          "line": 172,
          "column": 75
        },
        "end": {
          "line": 172,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "colEps",
      "start": 5866,
      "end": 5872,
      "loc": {
        "start": {
          "line": 172,
          "column": 77
        },
        "end": {
          "line": 172,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5872,
      "end": 5873,
      "loc": {
        "start": {
          "line": 172,
          "column": 83
        },
        "end": {
          "line": 172,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5873,
      "end": 5874,
      "loc": {
        "start": {
          "line": 172,
          "column": 84
        },
        "end": {
          "line": 172,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 5875,
      "end": 5876,
      "loc": {
        "start": {
          "line": 172,
          "column": 86
        },
        "end": {
          "line": 172,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 5877,
      "end": 5885,
      "loc": {
        "start": {
          "line": 172,
          "column": 88
        },
        "end": {
          "line": 172,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5885,
      "end": 5886,
      "loc": {
        "start": {
          "line": 172,
          "column": 96
        },
        "end": {
          "line": 172,
          "column": 97
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "loop termination criterion",
      "start": 5907,
      "end": 5935,
      "loc": {
        "start": {
          "line": 173,
          "column": 20
        },
        "end": {
          "line": 173,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5956,
      "end": 5958,
      "loc": {
        "start": {
          "line": 174,
          "column": 20
        },
        "end": {
          "line": 174,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5959,
      "end": 5960,
      "loc": {
        "start": {
          "line": 174,
          "column": 23
        },
        "end": {
          "line": 174,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sqr",
      "start": 5960,
      "end": 5963,
      "loc": {
        "start": {
          "line": 174,
          "column": 24
        },
        "end": {
          "line": 174,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5963,
      "end": 5964,
      "loc": {
        "start": {
          "line": 174,
          "column": 27
        },
        "end": {
          "line": 174,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cy",
      "start": 5964,
      "end": 5966,
      "loc": {
        "start": {
          "line": 174,
          "column": 28
        },
        "end": {
          "line": 174,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 5967,
      "end": 5968,
      "loc": {
        "start": {
          "line": 174,
          "column": 31
        },
        "end": {
          "line": 174,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 5969,
      "end": 5976,
      "loc": {
        "start": {
          "line": 174,
          "column": 33
        },
        "end": {
          "line": 174,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5976,
      "end": 5977,
      "loc": {
        "start": {
          "line": 174,
          "column": 40
        },
        "end": {
          "line": 174,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 5977,
      "end": 5983,
      "loc": {
        "start": {
          "line": 174,
          "column": 41
        },
        "end": {
          "line": 174,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5983,
      "end": 5984,
      "loc": {
        "start": {
          "line": 174,
          "column": 47
        },
        "end": {
          "line": 174,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "y",
      "start": 5984,
      "end": 5985,
      "loc": {
        "start": {
          "line": 174,
          "column": 48
        },
        "end": {
          "line": 174,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5985,
      "end": 5986,
      "loc": {
        "start": {
          "line": 174,
          "column": 49
        },
        "end": {
          "line": 174,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 5987,
      "end": 5989,
      "loc": {
        "start": {
          "line": 174,
          "column": 51
        },
        "end": {
          "line": 174,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestDistSqr",
      "start": 5990,
      "end": 6001,
      "loc": {
        "start": {
          "line": 174,
          "column": 54
        },
        "end": {
          "line": 174,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6001,
      "end": 6002,
      "loc": {
        "start": {
          "line": 174,
          "column": 65
        },
        "end": {
          "line": 174,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 6027,
      "end": 6032,
      "loc": {
        "start": {
          "line": 175,
          "column": 24
        },
        "end": {
          "line": 175,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectanglePlaceLoop",
      "start": 6033,
      "end": 6051,
      "loc": {
        "start": {
          "line": 175,
          "column": 30
        },
        "end": {
          "line": 175,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6051,
      "end": 6052,
      "loc": {
        "start": {
          "line": 175,
          "column": 48
        },
        "end": {
          "line": 175,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "try both direction for horizontal moving",
      "start": 6074,
      "end": 6116,
      "loc": {
        "start": {
          "line": 177,
          "column": 20
        },
        "end": {
          "line": 177,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 6137,
      "end": 6140,
      "loc": {
        "start": {
          "line": 178,
          "column": 20
        },
        "end": {
          "line": 178,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6141,
      "end": 6142,
      "loc": {
        "start": {
          "line": 178,
          "column": 24
        },
        "end": {
          "line": 178,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6142,
      "end": 6145,
      "loc": {
        "start": {
          "line": 178,
          "column": 25
        },
        "end": {
          "line": 178,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hs",
      "start": 6146,
      "end": 6148,
      "loc": {
        "start": {
          "line": 178,
          "column": 29
        },
        "end": {
          "line": 178,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6149,
      "end": 6150,
      "loc": {
        "start": {
          "line": 178,
          "column": 32
        },
        "end": {
          "line": 178,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 6151,
      "end": 6152,
      "loc": {
        "start": {
          "line": 178,
          "column": 34
        },
        "end": {
          "line": 178,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6152,
      "end": 6153,
      "loc": {
        "start": {
          "line": 178,
          "column": 35
        },
        "end": {
          "line": 178,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hs",
      "start": 6154,
      "end": 6156,
      "loc": {
        "start": {
          "line": 178,
          "column": 37
        },
        "end": {
          "line": 178,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 6157,
      "end": 6159,
      "loc": {
        "start": {
          "line": 178,
          "column": 40
        },
        "end": {
          "line": 178,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6160,
      "end": 6161,
      "loc": {
        "start": {
          "line": 178,
          "column": 43
        },
        "end": {
          "line": 178,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 6161,
      "end": 6162,
      "loc": {
        "start": {
          "line": 178,
          "column": 44
        },
        "end": {
          "line": 178,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6162,
      "end": 6163,
      "loc": {
        "start": {
          "line": 178,
          "column": 45
        },
        "end": {
          "line": 178,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hs",
      "start": 6164,
      "end": 6166,
      "loc": {
        "start": {
          "line": 178,
          "column": 47
        },
        "end": {
          "line": 178,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-=",
      "start": 6167,
      "end": 6169,
      "loc": {
        "start": {
          "line": 178,
          "column": 50
        },
        "end": {
          "line": 178,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 6170,
      "end": 6171,
      "loc": {
        "start": {
          "line": 178,
          "column": 53
        },
        "end": {
          "line": 178,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6171,
      "end": 6172,
      "loc": {
        "start": {
          "line": 178,
          "column": 54
        },
        "end": {
          "line": 178,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6173,
      "end": 6174,
      "loc": {
        "start": {
          "line": 178,
          "column": 56
        },
        "end": {
          "line": 178,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6199,
      "end": 6202,
      "loc": {
        "start": {
          "line": 179,
          "column": 24
        },
        "end": {
          "line": 179,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 6203,
      "end": 6205,
      "loc": {
        "start": {
          "line": 179,
          "column": 28
        },
        "end": {
          "line": 179,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6206,
      "end": 6207,
      "loc": {
        "start": {
          "line": 179,
          "column": 31
        },
        "end": {
          "line": 179,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 6208,
      "end": 6215,
      "loc": {
        "start": {
          "line": 179,
          "column": 33
        },
        "end": {
          "line": 179,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6215,
      "end": 6216,
      "loc": {
        "start": {
          "line": 179,
          "column": 40
        },
        "end": {
          "line": 179,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 6216,
      "end": 6222,
      "loc": {
        "start": {
          "line": 179,
          "column": 41
        },
        "end": {
          "line": 179,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6222,
      "end": 6223,
      "loc": {
        "start": {
          "line": 179,
          "column": 47
        },
        "end": {
          "line": 179,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 6223,
      "end": 6224,
      "loc": {
        "start": {
          "line": 179,
          "column": 48
        },
        "end": {
          "line": 179,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6224,
      "end": 6225,
      "loc": {
        "start": {
          "line": 179,
          "column": 49
        },
        "end": {
          "line": 179,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "do",
        "keyword": "do",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "do",
      "start": 6251,
      "end": 6253,
      "loc": {
        "start": {
          "line": 181,
          "column": 24
        },
        "end": {
          "line": 181,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6254,
      "end": 6255,
      "loc": {
        "start": {
          "line": 181,
          "column": 27
        },
        "end": {
          "line": 181,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 6284,
      "end": 6287,
      "loc": {
        "start": {
          "line": 182,
          "column": 28
        },
        "end": {
          "line": 182,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moved",
      "start": 6288,
      "end": 6293,
      "loc": {
        "start": {
          "line": 182,
          "column": 32
        },
        "end": {
          "line": 182,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6294,
      "end": 6295,
      "loc": {
        "start": {
          "line": 182,
          "column": 38
        },
        "end": {
          "line": 182,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 6296,
      "end": 6301,
      "loc": {
        "start": {
          "line": 182,
          "column": 40
        },
        "end": {
          "line": 182,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6301,
      "end": 6302,
      "loc": {
        "start": {
          "line": 182,
          "column": 45
        },
        "end": {
          "line": 182,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 6331,
      "end": 6334,
      "loc": {
        "start": {
          "line": 183,
          "column": 28
        },
        "end": {
          "line": 183,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6335,
      "end": 6336,
      "loc": {
        "start": {
          "line": 183,
          "column": 32
        },
        "end": {
          "line": 183,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6336,
      "end": 6339,
      "loc": {
        "start": {
          "line": 183,
          "column": 33
        },
        "end": {
          "line": 183,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "j",
      "start": 6340,
      "end": 6341,
      "loc": {
        "start": {
          "line": 183,
          "column": 37
        },
        "end": {
          "line": 183,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6342,
      "end": 6343,
      "loc": {
        "start": {
          "line": 183,
          "column": 39
        },
        "end": {
          "line": 183,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6344,
      "end": 6345,
      "loc": {
        "start": {
          "line": 183,
          "column": 41
        },
        "end": {
          "line": 183,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6345,
      "end": 6346,
      "loc": {
        "start": {
          "line": 183,
          "column": 42
        },
        "end": {
          "line": 183,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "j",
      "start": 6347,
      "end": 6348,
      "loc": {
        "start": {
          "line": 183,
          "column": 44
        },
        "end": {
          "line": 183,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 6349,
      "end": 6350,
      "loc": {
        "start": {
          "line": 183,
          "column": 46
        },
        "end": {
          "line": 183,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 6351,
      "end": 6352,
      "loc": {
        "start": {
          "line": 183,
          "column": 48
        },
        "end": {
          "line": 183,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6352,
      "end": 6353,
      "loc": {
        "start": {
          "line": 183,
          "column": 49
        },
        "end": {
          "line": 183,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "j",
      "start": 6354,
      "end": 6355,
      "loc": {
        "start": {
          "line": 183,
          "column": 51
        },
        "end": {
          "line": 183,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 6355,
      "end": 6357,
      "loc": {
        "start": {
          "line": 183,
          "column": 52
        },
        "end": {
          "line": 183,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6357,
      "end": 6358,
      "loc": {
        "start": {
          "line": 183,
          "column": 54
        },
        "end": {
          "line": 183,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6359,
      "end": 6360,
      "loc": {
        "start": {
          "line": 183,
          "column": 56
        },
        "end": {
          "line": 183,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6393,
      "end": 6396,
      "loc": {
        "start": {
          "line": 184,
          "column": 32
        },
        "end": {
          "line": 184,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstRect",
      "start": 6397,
      "end": 6405,
      "loc": {
        "start": {
          "line": 184,
          "column": 36
        },
        "end": {
          "line": 184,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6406,
      "end": 6407,
      "loc": {
        "start": {
          "line": 184,
          "column": 45
        },
        "end": {
          "line": 184,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectangles",
      "start": 6408,
      "end": 6418,
      "loc": {
        "start": {
          "line": 184,
          "column": 47
        },
        "end": {
          "line": 184,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6418,
      "end": 6419,
      "loc": {
        "start": {
          "line": 184,
          "column": 57
        },
        "end": {
          "line": 184,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "j",
      "start": 6419,
      "end": 6420,
      "loc": {
        "start": {
          "line": 184,
          "column": 58
        },
        "end": {
          "line": 184,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6420,
      "end": 6421,
      "loc": {
        "start": {
          "line": 184,
          "column": 59
        },
        "end": {
          "line": 184,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6421,
      "end": 6422,
      "loc": {
        "start": {
          "line": 184,
          "column": 60
        },
        "end": {
          "line": 184,
          "column": 61
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "check if rectangles collide",
      "start": 6455,
      "end": 6484,
      "loc": {
        "start": {
          "line": 185,
          "column": 32
        },
        "end": {
          "line": 185,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6517,
      "end": 6519,
      "loc": {
        "start": {
          "line": 186,
          "column": 32
        },
        "end": {
          "line": 186,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6520,
      "end": 6521,
      "loc": {
        "start": {
          "line": 186,
          "column": 35
        },
        "end": {
          "line": 186,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Math",
      "start": 6521,
      "end": 6525,
      "loc": {
        "start": {
          "line": 186,
          "column": 36
        },
        "end": {
          "line": 186,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6525,
      "end": 6526,
      "loc": {
        "start": {
          "line": 186,
          "column": 40
        },
        "end": {
          "line": 186,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "abs",
      "start": 6526,
      "end": 6529,
      "loc": {
        "start": {
          "line": 186,
          "column": 41
        },
        "end": {
          "line": 186,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6529,
      "end": 6530,
      "loc": {
        "start": {
          "line": 186,
          "column": 44
        },
        "end": {
          "line": 186,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cy",
      "start": 6530,
      "end": 6532,
      "loc": {
        "start": {
          "line": 186,
          "column": 45
        },
        "end": {
          "line": 186,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6533,
      "end": 6534,
      "loc": {
        "start": {
          "line": 186,
          "column": 48
        },
        "end": {
          "line": 186,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstRect",
      "start": 6535,
      "end": 6543,
      "loc": {
        "start": {
          "line": 186,
          "column": 50
        },
        "end": {
          "line": 186,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6543,
      "end": 6544,
      "loc": {
        "start": {
          "line": 186,
          "column": 58
        },
        "end": {
          "line": 186,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ctrPos",
      "start": 6544,
      "end": 6550,
      "loc": {
        "start": {
          "line": 186,
          "column": 59
        },
        "end": {
          "line": 186,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6550,
      "end": 6551,
      "loc": {
        "start": {
          "line": 186,
          "column": 65
        },
        "end": {
          "line": 186,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "y",
      "start": 6551,
      "end": 6552,
      "loc": {
        "start": {
          "line": 186,
          "column": 66
        },
        "end": {
          "line": 186,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6552,
      "end": 6553,
      "loc": {
        "start": {
          "line": 186,
          "column": 67
        },
        "end": {
          "line": 186,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 6554,
      "end": 6556,
      "loc": {
        "start": {
          "line": 186,
          "column": 69
        },
        "end": {
          "line": 186,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6557,
      "end": 6558,
      "loc": {
        "start": {
          "line": 186,
          "column": 72
        },
        "end": {
          "line": 186,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 6558,
      "end": 6559,
      "loc": {
        "start": {
          "line": 186,
          "column": 73
        },
        "end": {
          "line": 186,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6560,
      "end": 6561,
      "loc": {
        "start": {
          "line": 186,
          "column": 75
        },
        "end": {
          "line": 186,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "colEps",
      "start": 6562,
      "end": 6568,
      "loc": {
        "start": {
          "line": 186,
          "column": 77
        },
        "end": {
          "line": 186,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6568,
      "end": 6569,
      "loc": {
        "start": {
          "line": 186,
          "column": 83
        },
        "end": {
          "line": 186,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 6570,
      "end": 6571,
      "loc": {
        "start": {
          "line": 186,
          "column": 85
        },
        "end": {
          "line": 186,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 6572,
      "end": 6580,
      "loc": {
        "start": {
          "line": 186,
          "column": 87
        },
        "end": {
          "line": 186,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6581,
      "end": 6582,
      "loc": {
        "start": {
          "line": 186,
          "column": 96
        },
        "end": {
          "line": 186,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1e-9,
      "start": 6583,
      "end": 6587,
      "loc": {
        "start": {
          "line": 186,
          "column": 98
        },
        "end": {
          "line": 186,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6587,
      "end": 6588,
      "loc": {
        "start": {
          "line": 186,
          "column": 102
        },
        "end": {
          "line": 186,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": "continue",
        "keyword": "continue",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "continue",
      "start": 6625,
      "end": 6633,
      "loc": {
        "start": {
          "line": 187,
          "column": 36
        },
        "end": {
          "line": 187,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6633,
      "end": 6634,
      "loc": {
        "start": {
          "line": 187,
          "column": 44
        },
        "end": {
          "line": 187,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6667,
      "end": 6669,
      "loc": {
        "start": {
          "line": 188,
          "column": 32
        },
        "end": {
          "line": 188,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6670,
      "end": 6671,
      "loc": {
        "start": {
          "line": 188,
          "column": 35
        },
        "end": {
          "line": 188,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Math",
      "start": 6671,
      "end": 6675,
      "loc": {
        "start": {
          "line": 188,
          "column": 36
        },
        "end": {
          "line": 188,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6675,
      "end": 6676,
      "loc": {
        "start": {
          "line": 188,
          "column": 40
        },
        "end": {
          "line": 188,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "abs",
      "start": 6676,
      "end": 6679,
      "loc": {
        "start": {
          "line": 188,
          "column": 41
        },
        "end": {
          "line": 188,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6679,
      "end": 6680,
      "loc": {
        "start": {
          "line": 188,
          "column": 44
        },
        "end": {
          "line": 188,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 6680,
      "end": 6682,
      "loc": {
        "start": {
          "line": 188,
          "column": 45
        },
        "end": {
          "line": 188,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6683,
      "end": 6684,
      "loc": {
        "start": {
          "line": 188,
          "column": 48
        },
        "end": {
          "line": 188,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstRect",
      "start": 6685,
      "end": 6693,
      "loc": {
        "start": {
          "line": 188,
          "column": 50
        },
        "end": {
          "line": 188,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6693,
      "end": 6694,
      "loc": {
        "start": {
          "line": 188,
          "column": 58
        },
        "end": {
          "line": 188,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ctrPos",
      "start": 6694,
      "end": 6700,
      "loc": {
        "start": {
          "line": 188,
          "column": 59
        },
        "end": {
          "line": 188,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6700,
      "end": 6701,
      "loc": {
        "start": {
          "line": 188,
          "column": 65
        },
        "end": {
          "line": 188,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 6701,
      "end": 6702,
      "loc": {
        "start": {
          "line": 188,
          "column": 66
        },
        "end": {
          "line": 188,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6702,
      "end": 6703,
      "loc": {
        "start": {
          "line": 188,
          "column": 67
        },
        "end": {
          "line": 188,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 6704,
      "end": 6706,
      "loc": {
        "start": {
          "line": 188,
          "column": 69
        },
        "end": {
          "line": 188,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6707,
      "end": 6708,
      "loc": {
        "start": {
          "line": 188,
          "column": 72
        },
        "end": {
          "line": 188,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6708,
      "end": 6709,
      "loc": {
        "start": {
          "line": 188,
          "column": 73
        },
        "end": {
          "line": 188,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 6709,
      "end": 6716,
      "loc": {
        "start": {
          "line": 188,
          "column": 74
        },
        "end": {
          "line": 188,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6716,
      "end": 6717,
      "loc": {
        "start": {
          "line": 188,
          "column": 81
        },
        "end": {
          "line": 188,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 6717,
      "end": 6720,
      "loc": {
        "start": {
          "line": 188,
          "column": 82
        },
        "end": {
          "line": 188,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6721,
      "end": 6722,
      "loc": {
        "start": {
          "line": 188,
          "column": 86
        },
        "end": {
          "line": 188,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstRect",
      "start": 6723,
      "end": 6731,
      "loc": {
        "start": {
          "line": 188,
          "column": 88
        },
        "end": {
          "line": 188,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6731,
      "end": 6732,
      "loc": {
        "start": {
          "line": 188,
          "column": 96
        },
        "end": {
          "line": 188,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 6732,
      "end": 6735,
      "loc": {
        "start": {
          "line": 188,
          "column": 97
        },
        "end": {
          "line": 188,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6735,
      "end": 6736,
      "loc": {
        "start": {
          "line": 188,
          "column": 100
        },
        "end": {
          "line": 188,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 6737,
      "end": 6738,
      "loc": {
        "start": {
          "line": 188,
          "column": 102
        },
        "end": {
          "line": 188,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.5,
      "start": 6739,
      "end": 6742,
      "loc": {
        "start": {
          "line": 188,
          "column": 104
        },
        "end": {
          "line": 188,
          "column": 107
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6743,
      "end": 6744,
      "loc": {
        "start": {
          "line": 188,
          "column": 108
        },
        "end": {
          "line": 188,
          "column": 109
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "colEps",
      "start": 6745,
      "end": 6751,
      "loc": {
        "start": {
          "line": 188,
          "column": 110
        },
        "end": {
          "line": 188,
          "column": 116
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6751,
      "end": 6752,
      "loc": {
        "start": {
          "line": 188,
          "column": 116
        },
        "end": {
          "line": 188,
          "column": 117
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 6753,
      "end": 6754,
      "loc": {
        "start": {
          "line": 188,
          "column": 118
        },
        "end": {
          "line": 188,
          "column": 119
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 6755,
      "end": 6763,
      "loc": {
        "start": {
          "line": 188,
          "column": 120
        },
        "end": {
          "line": 188,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6764,
      "end": 6765,
      "loc": {
        "start": {
          "line": 188,
          "column": 129
        },
        "end": {
          "line": 188,
          "column": 130
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1e-9,
      "start": 6766,
      "end": 6770,
      "loc": {
        "start": {
          "line": 188,
          "column": 131
        },
        "end": {
          "line": 188,
          "column": 135
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6770,
      "end": 6771,
      "loc": {
        "start": {
          "line": 188,
          "column": 135
        },
        "end": {
          "line": 188,
          "column": 136
        }
      }
    },
    {
      "type": {
        "label": "continue",
        "keyword": "continue",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "continue",
      "start": 6808,
      "end": 6816,
      "loc": {
        "start": {
          "line": 189,
          "column": 36
        },
        "end": {
          "line": 189,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6816,
      "end": 6817,
      "loc": {
        "start": {
          "line": 189,
          "column": 44
        },
        "end": {
          "line": 189,
          "column": 45
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "do minimal horizontal movement which avoids collision",
      "start": 6850,
      "end": 6905,
      "loc": {
        "start": {
          "line": 190,
          "column": 32
        },
        "end": {
          "line": 190,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6938,
      "end": 6941,
      "loc": {
        "start": {
          "line": 191,
          "column": 32
        },
        "end": {
          "line": 191,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newSide",
      "start": 6942,
      "end": 6949,
      "loc": {
        "start": {
          "line": 191,
          "column": 36
        },
        "end": {
          "line": 191,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6950,
      "end": 6951,
      "loc": {
        "start": {
          "line": 191,
          "column": 44
        },
        "end": {
          "line": 191,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 6952,
      "end": 6954,
      "loc": {
        "start": {
          "line": 191,
          "column": 46
        },
        "end": {
          "line": 191,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6955,
      "end": 6956,
      "loc": {
        "start": {
          "line": 191,
          "column": 49
        },
        "end": {
          "line": 191,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hs",
      "start": 6957,
      "end": 6959,
      "loc": {
        "start": {
          "line": 191,
          "column": 51
        },
        "end": {
          "line": 191,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 6960,
      "end": 6961,
      "loc": {
        "start": {
          "line": 191,
          "column": 54
        },
        "end": {
          "line": 191,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 6962,
      "end": 6970,
      "loc": {
        "start": {
          "line": 191,
          "column": 56
        },
        "end": {
          "line": 191,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 6971,
      "end": 6972,
      "loc": {
        "start": {
          "line": 191,
          "column": 65
        },
        "end": {
          "line": 191,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 6973,
      "end": 6980,
      "loc": {
        "start": {
          "line": 191,
          "column": 67
        },
        "end": {
          "line": 191,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6980,
      "end": 6981,
      "loc": {
        "start": {
          "line": 191,
          "column": 74
        },
        "end": {
          "line": 191,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 6981,
      "end": 6984,
      "loc": {
        "start": {
          "line": 191,
          "column": 75
        },
        "end": {
          "line": 191,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 6985,
      "end": 6986,
      "loc": {
        "start": {
          "line": 191,
          "column": 79
        },
        "end": {
          "line": 191,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.5,
      "start": 6987,
      "end": 6990,
      "loc": {
        "start": {
          "line": 191,
          "column": 81
        },
        "end": {
          "line": 191,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6990,
      "end": 6991,
      "loc": {
        "start": {
          "line": 191,
          "column": 84
        },
        "end": {
          "line": 191,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7024,
      "end": 7027,
      "loc": {
        "start": {
          "line": 192,
          "column": 32
        },
        "end": {
          "line": 192,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstSide",
      "start": 7028,
      "end": 7036,
      "loc": {
        "start": {
          "line": 192,
          "column": 36
        },
        "end": {
          "line": 192,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7037,
      "end": 7038,
      "loc": {
        "start": {
          "line": 192,
          "column": 45
        },
        "end": {
          "line": 192,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstRect",
      "start": 7039,
      "end": 7047,
      "loc": {
        "start": {
          "line": 192,
          "column": 47
        },
        "end": {
          "line": 192,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7047,
      "end": 7048,
      "loc": {
        "start": {
          "line": 192,
          "column": 55
        },
        "end": {
          "line": 192,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ctrPos",
      "start": 7048,
      "end": 7054,
      "loc": {
        "start": {
          "line": 192,
          "column": 56
        },
        "end": {
          "line": 192,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7054,
      "end": 7055,
      "loc": {
        "start": {
          "line": 192,
          "column": 62
        },
        "end": {
          "line": 192,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 7055,
      "end": 7056,
      "loc": {
        "start": {
          "line": 192,
          "column": 63
        },
        "end": {
          "line": 192,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7057,
      "end": 7058,
      "loc": {
        "start": {
          "line": 192,
          "column": 65
        },
        "end": {
          "line": 192,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hs",
      "start": 7059,
      "end": 7061,
      "loc": {
        "start": {
          "line": 192,
          "column": 67
        },
        "end": {
          "line": 192,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7062,
      "end": 7063,
      "loc": {
        "start": {
          "line": 192,
          "column": 70
        },
        "end": {
          "line": 192,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 7064,
      "end": 7072,
      "loc": {
        "start": {
          "line": 192,
          "column": 72
        },
        "end": {
          "line": 192,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7073,
      "end": 7074,
      "loc": {
        "start": {
          "line": 192,
          "column": 81
        },
        "end": {
          "line": 192,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstRect",
      "start": 7075,
      "end": 7083,
      "loc": {
        "start": {
          "line": 192,
          "column": 83
        },
        "end": {
          "line": 192,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7083,
      "end": 7084,
      "loc": {
        "start": {
          "line": 192,
          "column": 91
        },
        "end": {
          "line": 192,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 7084,
      "end": 7087,
      "loc": {
        "start": {
          "line": 192,
          "column": 92
        },
        "end": {
          "line": 192,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7088,
      "end": 7089,
      "loc": {
        "start": {
          "line": 192,
          "column": 96
        },
        "end": {
          "line": 192,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.5,
      "start": 7090,
      "end": 7093,
      "loc": {
        "start": {
          "line": 192,
          "column": 98
        },
        "end": {
          "line": 192,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7093,
      "end": 7094,
      "loc": {
        "start": {
          "line": 192,
          "column": 101
        },
        "end": {
          "line": 192,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7127,
      "end": 7130,
      "loc": {
        "start": {
          "line": 193,
          "column": 32
        },
        "end": {
          "line": 193,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "diff",
      "start": 7131,
      "end": 7135,
      "loc": {
        "start": {
          "line": 193,
          "column": 36
        },
        "end": {
          "line": 193,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7136,
      "end": 7137,
      "loc": {
        "start": {
          "line": 193,
          "column": 41
        },
        "end": {
          "line": 193,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7138,
      "end": 7139,
      "loc": {
        "start": {
          "line": 193,
          "column": 43
        },
        "end": {
          "line": 193,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newSide",
      "start": 7139,
      "end": 7146,
      "loc": {
        "start": {
          "line": 193,
          "column": 44
        },
        "end": {
          "line": 193,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7147,
      "end": 7148,
      "loc": {
        "start": {
          "line": 193,
          "column": 52
        },
        "end": {
          "line": 193,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obstSide",
      "start": 7149,
      "end": 7157,
      "loc": {
        "start": {
          "line": 193,
          "column": 54
        },
        "end": {
          "line": 193,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7157,
      "end": 7158,
      "loc": {
        "start": {
          "line": 193,
          "column": 62
        },
        "end": {
          "line": 193,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 7159,
      "end": 7160,
      "loc": {
        "start": {
          "line": 193,
          "column": 64
        },
        "end": {
          "line": 193,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hs",
      "start": 7161,
      "end": 7163,
      "loc": {
        "start": {
          "line": 193,
          "column": 66
        },
        "end": {
          "line": 193,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7164,
      "end": 7165,
      "loc": {
        "start": {
          "line": 193,
          "column": 69
        },
        "end": {
          "line": 193,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "colEps",
      "start": 7166,
      "end": 7172,
      "loc": {
        "start": {
          "line": 193,
          "column": 71
        },
        "end": {
          "line": 193,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 7173,
      "end": 7174,
      "loc": {
        "start": {
          "line": 193,
          "column": 78
        },
        "end": {
          "line": 193,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 7175,
      "end": 7183,
      "loc": {
        "start": {
          "line": 193,
          "column": 80
        },
        "end": {
          "line": 193,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7183,
      "end": 7184,
      "loc": {
        "start": {
          "line": 193,
          "column": 88
        },
        "end": {
          "line": 193,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 7217,
      "end": 7219,
      "loc": {
        "start": {
          "line": 194,
          "column": 32
        },
        "end": {
          "line": 194,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 7220,
      "end": 7222,
      "loc": {
        "start": {
          "line": 194,
          "column": 35
        },
        "end": {
          "line": 194,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "diff",
      "start": 7223,
      "end": 7227,
      "loc": {
        "start": {
          "line": 194,
          "column": 38
        },
        "end": {
          "line": 194,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7227,
      "end": 7228,
      "loc": {
        "start": {
          "line": 194,
          "column": 42
        },
        "end": {
          "line": 194,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moved",
      "start": 7261,
      "end": 7266,
      "loc": {
        "start": {
          "line": 195,
          "column": 32
        },
        "end": {
          "line": 195,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7267,
      "end": 7268,
      "loc": {
        "start": {
          "line": 195,
          "column": 38
        },
        "end": {
          "line": 195,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 7269,
      "end": 7273,
      "loc": {
        "start": {
          "line": 195,
          "column": 40
        },
        "end": {
          "line": 195,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7273,
      "end": 7274,
      "loc": {
        "start": {
          "line": 195,
          "column": 44
        },
        "end": {
          "line": 195,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7303,
      "end": 7304,
      "loc": {
        "start": {
          "line": 196,
          "column": 28
        },
        "end": {
          "line": 196,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "note: if something has moved, then we have to recheck everything for collisions",
      "start": 7333,
      "end": 7414,
      "loc": {
        "start": {
          "line": 197,
          "column": 28
        },
        "end": {
          "line": 197,
          "column": 109
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7439,
      "end": 7440,
      "loc": {
        "start": {
          "line": 198,
          "column": 24
        },
        "end": {
          "line": 198,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 7441,
      "end": 7446,
      "loc": {
        "start": {
          "line": 198,
          "column": 26
        },
        "end": {
          "line": 198,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7447,
      "end": 7448,
      "loc": {
        "start": {
          "line": 198,
          "column": 32
        },
        "end": {
          "line": 198,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moved",
      "start": 7448,
      "end": 7453,
      "loc": {
        "start": {
          "line": 198,
          "column": 33
        },
        "end": {
          "line": 198,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7453,
      "end": 7454,
      "loc": {
        "start": {
          "line": 198,
          "column": 38
        },
        "end": {
          "line": 198,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7454,
      "end": 7455,
      "loc": {
        "start": {
          "line": 198,
          "column": 39
        },
        "end": {
          "line": 198,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7481,
      "end": 7484,
      "loc": {
        "start": {
          "line": 200,
          "column": 24
        },
        "end": {
          "line": 200,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "distSqr",
      "start": 7485,
      "end": 7492,
      "loc": {
        "start": {
          "line": 200,
          "column": 28
        },
        "end": {
          "line": 200,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7493,
      "end": 7494,
      "loc": {
        "start": {
          "line": 200,
          "column": 36
        },
        "end": {
          "line": 200,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sqr",
      "start": 7495,
      "end": 7498,
      "loc": {
        "start": {
          "line": 200,
          "column": 38
        },
        "end": {
          "line": 200,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7498,
      "end": 7499,
      "loc": {
        "start": {
          "line": 200,
          "column": 41
        },
        "end": {
          "line": 200,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 7499,
      "end": 7501,
      "loc": {
        "start": {
          "line": 200,
          "column": 42
        },
        "end": {
          "line": 200,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7502,
      "end": 7503,
      "loc": {
        "start": {
          "line": 200,
          "column": 45
        },
        "end": {
          "line": 200,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 7504,
      "end": 7511,
      "loc": {
        "start": {
          "line": 200,
          "column": 47
        },
        "end": {
          "line": 200,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7511,
      "end": 7512,
      "loc": {
        "start": {
          "line": 200,
          "column": 54
        },
        "end": {
          "line": 200,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 7512,
      "end": 7518,
      "loc": {
        "start": {
          "line": 200,
          "column": 55
        },
        "end": {
          "line": 200,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7518,
      "end": 7519,
      "loc": {
        "start": {
          "line": 200,
          "column": 61
        },
        "end": {
          "line": 200,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 7519,
      "end": 7520,
      "loc": {
        "start": {
          "line": 200,
          "column": 62
        },
        "end": {
          "line": 200,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7520,
      "end": 7521,
      "loc": {
        "start": {
          "line": 200,
          "column": 63
        },
        "end": {
          "line": 200,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 7522,
      "end": 7523,
      "loc": {
        "start": {
          "line": 200,
          "column": 65
        },
        "end": {
          "line": 200,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sqr",
      "start": 7524,
      "end": 7527,
      "loc": {
        "start": {
          "line": 200,
          "column": 67
        },
        "end": {
          "line": 200,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7527,
      "end": 7528,
      "loc": {
        "start": {
          "line": 200,
          "column": 70
        },
        "end": {
          "line": 200,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cy",
      "start": 7528,
      "end": 7530,
      "loc": {
        "start": {
          "line": 200,
          "column": 71
        },
        "end": {
          "line": 200,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7531,
      "end": 7532,
      "loc": {
        "start": {
          "line": 200,
          "column": 74
        },
        "end": {
          "line": 200,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 7533,
      "end": 7540,
      "loc": {
        "start": {
          "line": 200,
          "column": 76
        },
        "end": {
          "line": 200,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7540,
      "end": 7541,
      "loc": {
        "start": {
          "line": 200,
          "column": 83
        },
        "end": {
          "line": 200,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 7541,
      "end": 7547,
      "loc": {
        "start": {
          "line": 200,
          "column": 84
        },
        "end": {
          "line": 200,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7547,
      "end": 7548,
      "loc": {
        "start": {
          "line": 200,
          "column": 90
        },
        "end": {
          "line": 200,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "y",
      "start": 7548,
      "end": 7549,
      "loc": {
        "start": {
          "line": 200,
          "column": 91
        },
        "end": {
          "line": 200,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7549,
      "end": 7550,
      "loc": {
        "start": {
          "line": 200,
          "column": 92
        },
        "end": {
          "line": 200,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7550,
      "end": 7551,
      "loc": {
        "start": {
          "line": 200,
          "column": 93
        },
        "end": {
          "line": 200,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7576,
      "end": 7578,
      "loc": {
        "start": {
          "line": 201,
          "column": 24
        },
        "end": {
          "line": 201,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7579,
      "end": 7580,
      "loc": {
        "start": {
          "line": 201,
          "column": 27
        },
        "end": {
          "line": 201,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestDistSqr",
      "start": 7580,
      "end": 7591,
      "loc": {
        "start": {
          "line": 201,
          "column": 28
        },
        "end": {
          "line": 201,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 7592,
      "end": 7593,
      "loc": {
        "start": {
          "line": 201,
          "column": 40
        },
        "end": {
          "line": 201,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "distSqr",
      "start": 7594,
      "end": 7601,
      "loc": {
        "start": {
          "line": 201,
          "column": 42
        },
        "end": {
          "line": 201,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7601,
      "end": 7602,
      "loc": {
        "start": {
          "line": 201,
          "column": 49
        },
        "end": {
          "line": 201,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7603,
      "end": 7604,
      "loc": {
        "start": {
          "line": 201,
          "column": 51
        },
        "end": {
          "line": 201,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestDistSqr",
      "start": 7633,
      "end": 7644,
      "loc": {
        "start": {
          "line": 202,
          "column": 28
        },
        "end": {
          "line": 202,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7645,
      "end": 7646,
      "loc": {
        "start": {
          "line": 202,
          "column": 40
        },
        "end": {
          "line": 202,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "distSqr",
      "start": 7647,
      "end": 7654,
      "loc": {
        "start": {
          "line": 202,
          "column": 42
        },
        "end": {
          "line": 202,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7654,
      "end": 7655,
      "loc": {
        "start": {
          "line": 202,
          "column": 49
        },
        "end": {
          "line": 202,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestX",
      "start": 7684,
      "end": 7689,
      "loc": {
        "start": {
          "line": 203,
          "column": 28
        },
        "end": {
          "line": 203,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7690,
      "end": 7691,
      "loc": {
        "start": {
          "line": 203,
          "column": 34
        },
        "end": {
          "line": 203,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 7692,
      "end": 7694,
      "loc": {
        "start": {
          "line": 203,
          "column": 36
        },
        "end": {
          "line": 203,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7694,
      "end": 7695,
      "loc": {
        "start": {
          "line": 203,
          "column": 38
        },
        "end": {
          "line": 203,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestY",
      "start": 7696,
      "end": 7701,
      "loc": {
        "start": {
          "line": 203,
          "column": 40
        },
        "end": {
          "line": 203,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7702,
      "end": 7703,
      "loc": {
        "start": {
          "line": 203,
          "column": 46
        },
        "end": {
          "line": 203,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cy",
      "start": 7704,
      "end": 7706,
      "loc": {
        "start": {
          "line": 203,
          "column": 48
        },
        "end": {
          "line": 203,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7706,
      "end": 7707,
      "loc": {
        "start": {
          "line": 203,
          "column": 50
        },
        "end": {
          "line": 203,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7732,
      "end": 7733,
      "loc": {
        "start": {
          "line": 204,
          "column": 24
        },
        "end": {
          "line": 204,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "early cutoff: if no horizontal movement happened",
      "start": 7758,
      "end": 7808,
      "loc": {
        "start": {
          "line": 205,
          "column": 24
        },
        "end": {
          "line": 205,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7833,
      "end": 7835,
      "loc": {
        "start": {
          "line": 206,
          "column": 24
        },
        "end": {
          "line": 206,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7836,
      "end": 7837,
      "loc": {
        "start": {
          "line": 206,
          "column": 27
        },
        "end": {
          "line": 206,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cx",
      "start": 7837,
      "end": 7839,
      "loc": {
        "start": {
          "line": 206,
          "column": 28
        },
        "end": {
          "line": 206,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 7840,
      "end": 7843,
      "loc": {
        "start": {
          "line": 206,
          "column": 31
        },
        "end": {
          "line": 206,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 7844,
      "end": 7851,
      "loc": {
        "start": {
          "line": 206,
          "column": 35
        },
        "end": {
          "line": 206,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7851,
      "end": 7852,
      "loc": {
        "start": {
          "line": 206,
          "column": 42
        },
        "end": {
          "line": 206,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyPos",
      "start": 7852,
      "end": 7858,
      "loc": {
        "start": {
          "line": 206,
          "column": 43
        },
        "end": {
          "line": 206,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7858,
      "end": 7859,
      "loc": {
        "start": {
          "line": 206,
          "column": 49
        },
        "end": {
          "line": 206,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 7859,
      "end": 7860,
      "loc": {
        "start": {
          "line": 206,
          "column": 50
        },
        "end": {
          "line": 206,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7860,
      "end": 7861,
      "loc": {
        "start": {
          "line": 206,
          "column": 51
        },
        "end": {
          "line": 206,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 7890,
      "end": 7895,
      "loc": {
        "start": {
          "line": 207,
          "column": 28
        },
        "end": {
          "line": 207,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectanglePlaceLoop",
      "start": 7896,
      "end": 7914,
      "loc": {
        "start": {
          "line": 207,
          "column": 34
        },
        "end": {
          "line": 207,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7914,
      "end": 7915,
      "loc": {
        "start": {
          "line": 207,
          "column": 52
        },
        "end": {
          "line": 207,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7936,
      "end": 7937,
      "loc": {
        "start": {
          "line": 208,
          "column": 20
        },
        "end": {
          "line": 208,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7954,
      "end": 7955,
      "loc": {
        "start": {
          "line": 209,
          "column": 16
        },
        "end": {
          "line": 209,
          "column": 17
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "place rectangle into found position (not changed later)",
      "start": 7969,
      "end": 8026,
      "loc": {
        "start": {
          "line": 211,
          "column": 12
        },
        "end": {
          "line": 211,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newRect",
      "start": 8039,
      "end": 8046,
      "loc": {
        "start": {
          "line": 212,
          "column": 12
        },
        "end": {
          "line": 212,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8046,
      "end": 8047,
      "loc": {
        "start": {
          "line": 212,
          "column": 19
        },
        "end": {
          "line": 212,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ctrPos",
      "start": 8047,
      "end": 8053,
      "loc": {
        "start": {
          "line": 212,
          "column": 20
        },
        "end": {
          "line": 212,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8054,
      "end": 8055,
      "loc": {
        "start": {
          "line": 212,
          "column": 27
        },
        "end": {
          "line": 212,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 8056,
      "end": 8059,
      "loc": {
        "start": {
          "line": 212,
          "column": 29
        },
        "end": {
          "line": 212,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 8060,
      "end": 8065,
      "loc": {
        "start": {
          "line": 212,
          "column": 33
        },
        "end": {
          "line": 212,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8065,
      "end": 8066,
      "loc": {
        "start": {
          "line": 212,
          "column": 38
        },
        "end": {
          "line": 212,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Vector3",
      "start": 8066,
      "end": 8073,
      "loc": {
        "start": {
          "line": 212,
          "column": 39
        },
        "end": {
          "line": 212,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8073,
      "end": 8074,
      "loc": {
        "start": {
          "line": 212,
          "column": 46
        },
        "end": {
          "line": 212,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestX",
      "start": 8074,
      "end": 8079,
      "loc": {
        "start": {
          "line": 212,
          "column": 47
        },
        "end": {
          "line": 212,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8079,
      "end": 8080,
      "loc": {
        "start": {
          "line": 212,
          "column": 52
        },
        "end": {
          "line": 212,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bestY",
      "start": 8081,
      "end": 8086,
      "loc": {
        "start": {
          "line": 212,
          "column": 54
        },
        "end": {
          "line": 212,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8086,
      "end": 8087,
      "loc": {
        "start": {
          "line": 212,
          "column": 59
        },
        "end": {
          "line": 212,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8088,
      "end": 8091,
      "loc": {
        "start": {
          "line": 212,
          "column": 61
        },
        "end": {
          "line": 212,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8091,
      "end": 8092,
      "loc": {
        "start": {
          "line": 212,
          "column": 64
        },
        "end": {
          "line": 212,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8092,
      "end": 8093,
      "loc": {
        "start": {
          "line": 212,
          "column": 65
        },
        "end": {
          "line": 212,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8102,
      "end": 8103,
      "loc": {
        "start": {
          "line": 213,
          "column": 8
        },
        "end": {
          "line": 213,
          "column": 9
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "set positions for all constraint icons",
      "start": 8113,
      "end": 8153,
      "loc": {
        "start": {
          "line": 215,
          "column": 8
        },
        "end": {
          "line": 215,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 8162,
      "end": 8165,
      "loc": {
        "start": {
          "line": 216,
          "column": 8
        },
        "end": {
          "line": 216,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8166,
      "end": 8167,
      "loc": {
        "start": {
          "line": 216,
          "column": 12
        },
        "end": {
          "line": 216,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8167,
      "end": 8170,
      "loc": {
        "start": {
          "line": 216,
          "column": 13
        },
        "end": {
          "line": 216,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8171,
      "end": 8172,
      "loc": {
        "start": {
          "line": 216,
          "column": 17
        },
        "end": {
          "line": 216,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 8172,
      "end": 8174,
      "loc": {
        "start": {
          "line": 216,
          "column": 18
        },
        "end": {
          "line": 216,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8174,
      "end": 8175,
      "loc": {
        "start": {
          "line": 216,
          "column": 20
        },
        "end": {
          "line": 216,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ctrPos",
      "start": 8176,
      "end": 8182,
      "loc": {
        "start": {
          "line": 216,
          "column": 22
        },
        "end": {
          "line": 216,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8182,
      "end": 8183,
      "loc": {
        "start": {
          "line": 216,
          "column": 28
        },
        "end": {
          "line": 216,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 8184,
      "end": 8187,
      "loc": {
        "start": {
          "line": 216,
          "column": 30
        },
        "end": {
          "line": 216,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8187,
      "end": 8188,
      "loc": {
        "start": {
          "line": 216,
          "column": 33
        },
        "end": {
          "line": 216,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 8189,
      "end": 8191,
      "loc": {
        "start": {
          "line": 216,
          "column": 35
        },
        "end": {
          "line": 216,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rectangles",
      "start": 8192,
      "end": 8202,
      "loc": {
        "start": {
          "line": 216,
          "column": 38
        },
        "end": {
          "line": 216,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8202,
      "end": 8203,
      "loc": {
        "start": {
          "line": 216,
          "column": 48
        },
        "end": {
          "line": 216,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8204,
      "end": 8205,
      "loc": {
        "start": {
          "line": 216,
          "column": 50
        },
        "end": {
          "line": 216,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8218,
      "end": 8221,
      "loc": {
        "start": {
          "line": 217,
          "column": 12
        },
        "end": {
          "line": 217,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conList",
      "start": 8222,
      "end": 8229,
      "loc": {
        "start": {
          "line": 217,
          "column": 16
        },
        "end": {
          "line": 217,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8230,
      "end": 8231,
      "loc": {
        "start": {
          "line": 217,
          "column": 24
        },
        "end": {
          "line": 217,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "perEntityLists",
      "start": 8232,
      "end": 8246,
      "loc": {
        "start": {
          "line": 217,
          "column": 26
        },
        "end": {
          "line": 217,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8246,
      "end": 8247,
      "loc": {
        "start": {
          "line": 217,
          "column": 40
        },
        "end": {
          "line": 217,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 8247,
      "end": 8250,
      "loc": {
        "start": {
          "line": 217,
          "column": 41
        },
        "end": {
          "line": 217,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8250,
      "end": 8251,
      "loc": {
        "start": {
          "line": 217,
          "column": 44
        },
        "end": {
          "line": 217,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 8251,
      "end": 8253,
      "loc": {
        "start": {
          "line": 217,
          "column": 45
        },
        "end": {
          "line": 217,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8253,
      "end": 8254,
      "loc": {
        "start": {
          "line": 217,
          "column": 47
        },
        "end": {
          "line": 217,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8254,
      "end": 8255,
      "loc": {
        "start": {
          "line": 217,
          "column": 48
        },
        "end": {
          "line": 217,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "sort constraint lists (for stability)",
      "start": 8268,
      "end": 8307,
      "loc": {
        "start": {
          "line": 218,
          "column": 12
        },
        "end": {
          "line": 218,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conList",
      "start": 8320,
      "end": 8327,
      "loc": {
        "start": {
          "line": 219,
          "column": 12
        },
        "end": {
          "line": 219,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8327,
      "end": 8328,
      "loc": {
        "start": {
          "line": 219,
          "column": 19
        },
        "end": {
          "line": 219,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sort",
      "start": 8328,
      "end": 8332,
      "loc": {
        "start": {
          "line": 219,
          "column": 20
        },
        "end": {
          "line": 219,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8332,
      "end": 8333,
      "loc": {
        "start": {
          "line": 219,
          "column": 24
        },
        "end": {
          "line": 219,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8333,
      "end": 8334,
      "loc": {
        "start": {
          "line": 219,
          "column": 25
        },
        "end": {
          "line": 219,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "a",
      "start": 8334,
      "end": 8335,
      "loc": {
        "start": {
          "line": 219,
          "column": 26
        },
        "end": {
          "line": 219,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8335,
      "end": 8336,
      "loc": {
        "start": {
          "line": 219,
          "column": 27
        },
        "end": {
          "line": 219,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 8337,
      "end": 8338,
      "loc": {
        "start": {
          "line": 219,
          "column": 29
        },
        "end": {
          "line": 219,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8338,
      "end": 8339,
      "loc": {
        "start": {
          "line": 219,
          "column": 30
        },
        "end": {
          "line": 219,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8340,
      "end": 8342,
      "loc": {
        "start": {
          "line": 219,
          "column": 32
        },
        "end": {
          "line": 219,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8343,
      "end": 8344,
      "loc": {
        "start": {
          "line": 219,
          "column": 35
        },
        "end": {
          "line": 219,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "a",
      "start": 8344,
      "end": 8345,
      "loc": {
        "start": {
          "line": 219,
          "column": 36
        },
        "end": {
          "line": 219,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8346,
      "end": 8347,
      "loc": {
        "start": {
          "line": 219,
          "column": 38
        },
        "end": {
          "line": 219,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 8348,
      "end": 8349,
      "loc": {
        "start": {
          "line": 219,
          "column": 40
        },
        "end": {
          "line": 219,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8349,
      "end": 8350,
      "loc": {
        "start": {
          "line": 219,
          "column": 41
        },
        "end": {
          "line": 219,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8350,
      "end": 8351,
      "loc": {
        "start": {
          "line": 219,
          "column": 42
        },
        "end": {
          "line": 219,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8351,
      "end": 8352,
      "loc": {
        "start": {
          "line": 219,
          "column": 43
        },
        "end": {
          "line": 219,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 8366,
      "end": 8369,
      "loc": {
        "start": {
          "line": 221,
          "column": 12
        },
        "end": {
          "line": 221,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8370,
      "end": 8371,
      "loc": {
        "start": {
          "line": 221,
          "column": 16
        },
        "end": {
          "line": 221,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8371,
      "end": 8374,
      "loc": {
        "start": {
          "line": 221,
          "column": 17
        },
        "end": {
          "line": 221,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 8375,
      "end": 8376,
      "loc": {
        "start": {
          "line": 221,
          "column": 21
        },
        "end": {
          "line": 221,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8377,
      "end": 8378,
      "loc": {
        "start": {
          "line": 221,
          "column": 23
        },
        "end": {
          "line": 221,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8379,
      "end": 8380,
      "loc": {
        "start": {
          "line": 221,
          "column": 25
        },
        "end": {
          "line": 221,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8380,
      "end": 8381,
      "loc": {
        "start": {
          "line": 221,
          "column": 26
        },
        "end": {
          "line": 221,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 8382,
      "end": 8383,
      "loc": {
        "start": {
          "line": 221,
          "column": 28
        },
        "end": {
          "line": 221,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 8384,
      "end": 8385,
      "loc": {
        "start": {
          "line": 221,
          "column": 30
        },
        "end": {
          "line": 221,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 8386,
      "end": 8389,
      "loc": {
        "start": {
          "line": 221,
          "column": 32
        },
        "end": {
          "line": 221,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8389,
      "end": 8390,
      "loc": {
        "start": {
          "line": 221,
          "column": 35
        },
        "end": {
          "line": 221,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 8391,
      "end": 8392,
      "loc": {
        "start": {
          "line": 221,
          "column": 37
        },
        "end": {
          "line": 221,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 8392,
      "end": 8394,
      "loc": {
        "start": {
          "line": 221,
          "column": 38
        },
        "end": {
          "line": 221,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8394,
      "end": 8395,
      "loc": {
        "start": {
          "line": 221,
          "column": 40
        },
        "end": {
          "line": 221,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8396,
      "end": 8397,
      "loc": {
        "start": {
          "line": 221,
          "column": 42
        },
        "end": {
          "line": 221,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8414,
      "end": 8417,
      "loc": {
        "start": {
          "line": 222,
          "column": 16
        },
        "end": {
          "line": 222,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pos",
      "start": 8418,
      "end": 8421,
      "loc": {
        "start": {
          "line": 222,
          "column": 20
        },
        "end": {
          "line": 222,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8422,
      "end": 8423,
      "loc": {
        "start": {
          "line": 222,
          "column": 24
        },
        "end": {
          "line": 222,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ctrPos",
      "start": 8424,
      "end": 8430,
      "loc": {
        "start": {
          "line": 222,
          "column": 26
        },
        "end": {
          "line": 222,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8430,
      "end": 8431,
      "loc": {
        "start": {
          "line": 222,
          "column": 32
        },
        "end": {
          "line": 222,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "clone",
      "start": 8431,
      "end": 8436,
      "loc": {
        "start": {
          "line": 222,
          "column": 33
        },
        "end": {
          "line": 222,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8436,
      "end": 8437,
      "loc": {
        "start": {
          "line": 222,
          "column": 38
        },
        "end": {
          "line": 222,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8437,
      "end": 8438,
      "loc": {
        "start": {
          "line": 222,
          "column": 39
        },
        "end": {
          "line": 222,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8438,
      "end": 8439,
      "loc": {
        "start": {
          "line": 222,
          "column": 40
        },
        "end": {
          "line": 222,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "add",
      "start": 8439,
      "end": 8442,
      "loc": {
        "start": {
          "line": 222,
          "column": 41
        },
        "end": {
          "line": 222,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8442,
      "end": 8443,
      "loc": {
        "start": {
          "line": 222,
          "column": 44
        },
        "end": {
          "line": 222,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 8443,
      "end": 8446,
      "loc": {
        "start": {
          "line": 222,
          "column": 45
        },
        "end": {
          "line": 222,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 8447,
      "end": 8452,
      "loc": {
        "start": {
          "line": 222,
          "column": 49
        },
        "end": {
          "line": 222,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8452,
      "end": 8453,
      "loc": {
        "start": {
          "line": 222,
          "column": 54
        },
        "end": {
          "line": 222,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Vector3",
      "start": 8453,
      "end": 8460,
      "loc": {
        "start": {
          "line": 222,
          "column": 55
        },
        "end": {
          "line": 222,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8460,
      "end": 8461,
      "loc": {
        "start": {
          "line": 222,
          "column": 62
        },
        "end": {
          "line": 222,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 8461,
      "end": 8462,
      "loc": {
        "start": {
          "line": 222,
          "column": 63
        },
        "end": {
          "line": 222,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8463,
      "end": 8464,
      "loc": {
        "start": {
          "line": 222,
          "column": 65
        },
        "end": {
          "line": 222,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.5,
      "start": 8465,
      "end": 8468,
      "loc": {
        "start": {
          "line": 222,
          "column": 67
        },
        "end": {
          "line": 222,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 8469,
      "end": 8470,
      "loc": {
        "start": {
          "line": 222,
          "column": 71
        },
        "end": {
          "line": 222,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8471,
      "end": 8472,
      "loc": {
        "start": {
          "line": 222,
          "column": 73
        },
        "end": {
          "line": 222,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cnt",
      "start": 8472,
      "end": 8475,
      "loc": {
        "start": {
          "line": 222,
          "column": 74
        },
        "end": {
          "line": 222,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8475,
      "end": 8476,
      "loc": {
        "start": {
          "line": 222,
          "column": 77
        },
        "end": {
          "line": 222,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8476,
      "end": 8477,
      "loc": {
        "start": {
          "line": 222,
          "column": 78
        },
        "end": {
          "line": 222,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8477,
      "end": 8478,
      "loc": {
        "start": {
          "line": 222,
          "column": 79
        },
        "end": {
          "line": 222,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8478,
      "end": 8479,
      "loc": {
        "start": {
          "line": 222,
          "column": 80
        },
        "end": {
          "line": 222,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8480,
      "end": 8481,
      "loc": {
        "start": {
          "line": 222,
          "column": 82
        },
        "end": {
          "line": 222,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8481,
      "end": 8482,
      "loc": {
        "start": {
          "line": 222,
          "column": 83
        },
        "end": {
          "line": 222,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8483,
      "end": 8484,
      "loc": {
        "start": {
          "line": 222,
          "column": 85
        },
        "end": {
          "line": 222,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8484,
      "end": 8485,
      "loc": {
        "start": {
          "line": 222,
          "column": 86
        },
        "end": {
          "line": 222,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8485,
      "end": 8486,
      "loc": {
        "start": {
          "line": 222,
          "column": 87
        },
        "end": {
          "line": 222,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "multiplyScalar",
      "start": 8486,
      "end": 8500,
      "loc": {
        "start": {
          "line": 222,
          "column": 88
        },
        "end": {
          "line": 222,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8500,
      "end": 8501,
      "loc": {
        "start": {
          "line": 222,
          "column": 102
        },
        "end": {
          "line": 222,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 8501,
      "end": 8509,
      "loc": {
        "start": {
          "line": 222,
          "column": 103
        },
        "end": {
          "line": 222,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8509,
      "end": 8510,
      "loc": {
        "start": {
          "line": 222,
          "column": 111
        },
        "end": {
          "line": 222,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8510,
      "end": 8511,
      "loc": {
        "start": {
          "line": 222,
          "column": 112
        },
        "end": {
          "line": 222,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8511,
      "end": 8512,
      "loc": {
        "start": {
          "line": 222,
          "column": 113
        },
        "end": {
          "line": 222,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8529,
      "end": 8532,
      "loc": {
        "start": {
          "line": 223,
          "column": 16
        },
        "end": {
          "line": 223,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conId",
      "start": 8533,
      "end": 8538,
      "loc": {
        "start": {
          "line": 223,
          "column": 20
        },
        "end": {
          "line": 223,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8539,
      "end": 8540,
      "loc": {
        "start": {
          "line": 223,
          "column": 26
        },
        "end": {
          "line": 223,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conList",
      "start": 8541,
      "end": 8548,
      "loc": {
        "start": {
          "line": 223,
          "column": 28
        },
        "end": {
          "line": 223,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8548,
      "end": 8549,
      "loc": {
        "start": {
          "line": 223,
          "column": 35
        },
        "end": {
          "line": 223,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 8549,
      "end": 8550,
      "loc": {
        "start": {
          "line": 223,
          "column": 36
        },
        "end": {
          "line": 223,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8550,
      "end": 8551,
      "loc": {
        "start": {
          "line": 223,
          "column": 37
        },
        "end": {
          "line": 223,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8551,
      "end": 8552,
      "loc": {
        "start": {
          "line": 223,
          "column": 38
        },
        "end": {
          "line": 223,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8569,
      "end": 8572,
      "loc": {
        "start": {
          "line": 224,
          "column": 16
        },
        "end": {
          "line": 224,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constr",
      "start": 8573,
      "end": 8579,
      "loc": {
        "start": {
          "line": 224,
          "column": 20
        },
        "end": {
          "line": 224,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8580,
      "end": 8581,
      "loc": {
        "start": {
          "line": 224,
          "column": 27
        },
        "end": {
          "line": 224,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 8582,
      "end": 8585,
      "loc": {
        "start": {
          "line": 224,
          "column": 29
        },
        "end": {
          "line": 224,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 8586,
      "end": 8591,
      "loc": {
        "start": {
          "line": 224,
          "column": 33
        },
        "end": {
          "line": 224,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8591,
      "end": 8592,
      "loc": {
        "start": {
          "line": 224,
          "column": 38
        },
        "end": {
          "line": 224,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8592,
      "end": 8596,
      "loc": {
        "start": {
          "line": 224,
          "column": 39
        },
        "end": {
          "line": 224,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8596,
      "end": 8597,
      "loc": {
        "start": {
          "line": 224,
          "column": 43
        },
        "end": {
          "line": 224,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 8597,
      "end": 8605,
      "loc": {
        "start": {
          "line": 224,
          "column": 44
        },
        "end": {
          "line": 224,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8605,
      "end": 8606,
      "loc": {
        "start": {
          "line": 224,
          "column": 52
        },
        "end": {
          "line": 224,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "conId",
      "start": 8607,
      "end": 8612,
      "loc": {
        "start": {
          "line": 224,
          "column": 54
        },
        "end": {
          "line": 224,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8612,
      "end": 8613,
      "loc": {
        "start": {
          "line": 224,
          "column": 59
        },
        "end": {
          "line": 224,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8613,
      "end": 8614,
      "loc": {
        "start": {
          "line": 224,
          "column": 60
        },
        "end": {
          "line": 224,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constr",
      "start": 8631,
      "end": 8637,
      "loc": {
        "start": {
          "line": 225,
          "column": 16
        },
        "end": {
          "line": 225,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8637,
      "end": 8638,
      "loc": {
        "start": {
          "line": 225,
          "column": 22
        },
        "end": {
          "line": 225,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphics",
      "start": 8638,
      "end": 8646,
      "loc": {
        "start": {
          "line": 225,
          "column": 23
        },
        "end": {
          "line": 225,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8646,
      "end": 8647,
      "loc": {
        "start": {
          "line": 225,
          "column": 31
        },
        "end": {
          "line": 225,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "localMesh",
      "start": 8647,
      "end": 8656,
      "loc": {
        "start": {
          "line": 225,
          "column": 32
        },
        "end": {
          "line": 225,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8656,
      "end": 8657,
      "loc": {
        "start": {
          "line": 225,
          "column": 41
        },
        "end": {
          "line": 225,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8657,
      "end": 8665,
      "loc": {
        "start": {
          "line": 225,
          "column": 42
        },
        "end": {
          "line": 225,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8665,
      "end": 8666,
      "loc": {
        "start": {
          "line": 225,
          "column": 50
        },
        "end": {
          "line": 225,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 8666,
      "end": 8670,
      "loc": {
        "start": {
          "line": 225,
          "column": 51
        },
        "end": {
          "line": 225,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8670,
      "end": 8671,
      "loc": {
        "start": {
          "line": 225,
          "column": 55
        },
        "end": {
          "line": 225,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pos",
      "start": 8671,
      "end": 8674,
      "loc": {
        "start": {
          "line": 225,
          "column": 56
        },
        "end": {
          "line": 225,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8674,
      "end": 8675,
      "loc": {
        "start": {
          "line": 225,
          "column": 59
        },
        "end": {
          "line": 225,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8675,
      "end": 8676,
      "loc": {
        "start": {
          "line": 225,
          "column": 60
        },
        "end": {
          "line": 225,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constr",
      "start": 8693,
      "end": 8699,
      "loc": {
        "start": {
          "line": 226,
          "column": 16
        },
        "end": {
          "line": 226,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8699,
      "end": 8700,
      "loc": {
        "start": {
          "line": 226,
          "column": 22
        },
        "end": {
          "line": 226,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "graphics",
      "start": 8700,
      "end": 8708,
      "loc": {
        "start": {
          "line": 226,
          "column": 23
        },
        "end": {
          "line": 226,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8708,
      "end": 8709,
      "loc": {
        "start": {
          "line": 226,
          "column": 31
        },
        "end": {
          "line": 226,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "localMesh",
      "start": 8709,
      "end": 8718,
      "loc": {
        "start": {
          "line": 226,
          "column": 32
        },
        "end": {
          "line": 226,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8718,
      "end": 8719,
      "loc": {
        "start": {
          "line": 226,
          "column": 41
        },
        "end": {
          "line": 226,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "scale",
      "start": 8719,
      "end": 8724,
      "loc": {
        "start": {
          "line": 226,
          "column": 42
        },
        "end": {
          "line": 226,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8724,
      "end": 8725,
      "loc": {
        "start": {
          "line": 226,
          "column": 47
        },
        "end": {
          "line": 226,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 8725,
      "end": 8728,
      "loc": {
        "start": {
          "line": 226,
          "column": 48
        },
        "end": {
          "line": 226,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8728,
      "end": 8729,
      "loc": {
        "start": {
          "line": 226,
          "column": 51
        },
        "end": {
          "line": 226,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 8729,
      "end": 8737,
      "loc": {
        "start": {
          "line": 226,
          "column": 52
        },
        "end": {
          "line": 226,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8737,
      "end": 8738,
      "loc": {
        "start": {
          "line": 226,
          "column": 60
        },
        "end": {
          "line": 226,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "iconSize",
      "start": 8739,
      "end": 8747,
      "loc": {
        "start": {
          "line": 226,
          "column": 62
        },
        "end": {
          "line": 226,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8747,
      "end": 8748,
      "loc": {
        "start": {
          "line": 226,
          "column": 70
        },
        "end": {
          "line": 226,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8749,
      "end": 8750,
      "loc": {
        "start": {
          "line": 226,
          "column": 72
        },
        "end": {
          "line": 226,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8750,
      "end": 8751,
      "loc": {
        "start": {
          "line": 226,
          "column": 73
        },
        "end": {
          "line": 226,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8751,
      "end": 8752,
      "loc": {
        "start": {
          "line": 226,
          "column": 74
        },
        "end": {
          "line": 226,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8765,
      "end": 8766,
      "loc": {
        "start": {
          "line": 227,
          "column": 12
        },
        "end": {
          "line": 227,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8775,
      "end": 8776,
      "loc": {
        "start": {
          "line": 228,
          "column": 8
        },
        "end": {
          "line": 228,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8781,
      "end": 8782,
      "loc": {
        "start": {
          "line": 229,
          "column": 4
        },
        "end": {
          "line": 229,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getKeyPosition",
      "start": 8788,
      "end": 8802,
      "loc": {
        "start": {
          "line": 231,
          "column": 4
        },
        "end": {
          "line": 231,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8802,
      "end": 8803,
      "loc": {
        "start": {
          "line": 231,
          "column": 18
        },
        "end": {
          "line": 231,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 8803,
      "end": 8809,
      "loc": {
        "start": {
          "line": 231,
          "column": 19
        },
        "end": {
          "line": 231,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8809,
      "end": 8810,
      "loc": {
        "start": {
          "line": 231,
          "column": 25
        },
        "end": {
          "line": 231,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8811,
      "end": 8812,
      "loc": {
        "start": {
          "line": 231,
          "column": 27
        },
        "end": {
          "line": 231,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 8821,
      "end": 8823,
      "loc": {
        "start": {
          "line": 232,
          "column": 8
        },
        "end": {
          "line": 232,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8824,
      "end": 8825,
      "loc": {
        "start": {
          "line": 232,
          "column": 11
        },
        "end": {
          "line": 232,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 8825,
      "end": 8831,
      "loc": {
        "start": {
          "line": 232,
          "column": 12
        },
        "end": {
          "line": 232,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8831,
      "end": 8832,
      "loc": {
        "start": {
          "line": 232,
          "column": 18
        },
        "end": {
          "line": 232,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 8832,
      "end": 8838,
      "loc": {
        "start": {
          "line": 232,
          "column": 19
        },
        "end": {
          "line": 232,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8838,
      "end": 8839,
      "loc": {
        "start": {
          "line": 232,
          "column": 25
        },
        "end": {
          "line": 232,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 8840,
      "end": 8843,
      "loc": {
        "start": {
          "line": 232,
          "column": 27
        },
        "end": {
          "line": 232,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "number",
      "start": 8844,
      "end": 8852,
      "loc": {
        "start": {
          "line": 232,
          "column": 31
        },
        "end": {
          "line": 232,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8852,
      "end": 8853,
      "loc": {
        "start": {
          "line": 232,
          "column": 39
        },
        "end": {
          "line": 232,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 8854,
      "end": 8860,
      "loc": {
        "start": {
          "line": 232,
          "column": 41
        },
        "end": {
          "line": 232,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8861,
      "end": 8862,
      "loc": {
        "start": {
          "line": 232,
          "column": 48
        },
        "end": {
          "line": 232,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 8863,
      "end": 8866,
      "loc": {
        "start": {
          "line": 232,
          "column": 50
        },
        "end": {
          "line": 232,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 8867,
      "end": 8872,
      "loc": {
        "start": {
          "line": 232,
          "column": 54
        },
        "end": {
          "line": 232,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8872,
      "end": 8873,
      "loc": {
        "start": {
          "line": 232,
          "column": 59
        },
        "end": {
          "line": 232,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8873,
      "end": 8877,
      "loc": {
        "start": {
          "line": 232,
          "column": 60
        },
        "end": {
          "line": 232,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8877,
      "end": 8878,
      "loc": {
        "start": {
          "line": 232,
          "column": 64
        },
        "end": {
          "line": 232,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 8878,
      "end": 8886,
      "loc": {
        "start": {
          "line": 232,
          "column": 65
        },
        "end": {
          "line": 232,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8886,
      "end": 8887,
      "loc": {
        "start": {
          "line": 232,
          "column": 73
        },
        "end": {
          "line": 232,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 8888,
      "end": 8894,
      "loc": {
        "start": {
          "line": 232,
          "column": 75
        },
        "end": {
          "line": 232,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8894,
      "end": 8895,
      "loc": {
        "start": {
          "line": 232,
          "column": 81
        },
        "end": {
          "line": 232,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8895,
      "end": 8896,
      "loc": {
        "start": {
          "line": 232,
          "column": 82
        },
        "end": {
          "line": 232,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 8905,
      "end": 8910,
      "loc": {
        "start": {
          "line": 233,
          "column": 8
        },
        "end": {
          "line": 233,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 8911,
      "end": 8913,
      "loc": {
        "start": {
          "line": 233,
          "column": 14
        },
        "end": {
          "line": 233,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8914,
      "end": 8915,
      "loc": {
        "start": {
          "line": 233,
          "column": 17
        },
        "end": {
          "line": 233,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 8916,
      "end": 8922,
      "loc": {
        "start": {
          "line": 233,
          "column": 19
        },
        "end": {
          "line": 233,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8922,
      "end": 8923,
      "loc": {
        "start": {
          "line": 233,
          "column": 25
        },
        "end": {
          "line": 233,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 8923,
      "end": 8933,
      "loc": {
        "start": {
          "line": 233,
          "column": 26
        },
        "end": {
          "line": 233,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8933,
      "end": 8934,
      "loc": {
        "start": {
          "line": 233,
          "column": 36
        },
        "end": {
          "line": 233,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "switch",
        "keyword": "switch",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "switch",
      "start": 8943,
      "end": 8949,
      "loc": {
        "start": {
          "line": 234,
          "column": 8
        },
        "end": {
          "line": 234,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8950,
      "end": 8951,
      "loc": {
        "start": {
          "line": 234,
          "column": 15
        },
        "end": {
          "line": 234,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 8951,
      "end": 8957,
      "loc": {
        "start": {
          "line": 234,
          "column": 16
        },
        "end": {
          "line": 234,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8957,
      "end": 8958,
      "loc": {
        "start": {
          "line": 234,
          "column": 22
        },
        "end": {
          "line": 234,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 8958,
      "end": 8963,
      "loc": {
        "start": {
          "line": 234,
          "column": 23
        },
        "end": {
          "line": 234,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8963,
      "end": 8964,
      "loc": {
        "start": {
          "line": 234,
          "column": 28
        },
        "end": {
          "line": 234,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8965,
      "end": 8966,
      "loc": {
        "start": {
          "line": 234,
          "column": 30
        },
        "end": {
          "line": 234,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 8979,
      "end": 8983,
      "loc": {
        "start": {
          "line": 235,
          "column": 12
        },
        "end": {
          "line": 235,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Point",
      "start": 8984,
      "end": 8994,
      "loc": {
        "start": {
          "line": 235,
          "column": 17
        },
        "end": {
          "line": 235,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8994,
      "end": 8995,
      "loc": {
        "start": {
          "line": 235,
          "column": 27
        },
        "end": {
          "line": 235,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9012,
      "end": 9018,
      "loc": {
        "start": {
          "line": 236,
          "column": 16
        },
        "end": {
          "line": 236,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 9019,
      "end": 9021,
      "loc": {
        "start": {
          "line": 236,
          "column": 23
        },
        "end": {
          "line": 236,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9021,
      "end": 9022,
      "loc": {
        "start": {
          "line": 236,
          "column": 25
        },
        "end": {
          "line": 236,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 9022,
      "end": 9027,
      "loc": {
        "start": {
          "line": 236,
          "column": 26
        },
        "end": {
          "line": 236,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9027,
      "end": 9028,
      "loc": {
        "start": {
          "line": 236,
          "column": 31
        },
        "end": {
          "line": 236,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "clone",
      "start": 9028,
      "end": 9033,
      "loc": {
        "start": {
          "line": 236,
          "column": 32
        },
        "end": {
          "line": 236,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9033,
      "end": 9034,
      "loc": {
        "start": {
          "line": 236,
          "column": 37
        },
        "end": {
          "line": 236,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9034,
      "end": 9035,
      "loc": {
        "start": {
          "line": 236,
          "column": 38
        },
        "end": {
          "line": 236,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9035,
      "end": 9036,
      "loc": {
        "start": {
          "line": 236,
          "column": 39
        },
        "end": {
          "line": 236,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 9049,
      "end": 9053,
      "loc": {
        "start": {
          "line": 237,
          "column": 12
        },
        "end": {
          "line": 237,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Line",
      "start": 9054,
      "end": 9063,
      "loc": {
        "start": {
          "line": 237,
          "column": 17
        },
        "end": {
          "line": 237,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9063,
      "end": 9064,
      "loc": {
        "start": {
          "line": 237,
          "column": 26
        },
        "end": {
          "line": 237,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9081,
      "end": 9087,
      "loc": {
        "start": {
          "line": 238,
          "column": 16
        },
        "end": {
          "line": 238,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 9088,
      "end": 9091,
      "loc": {
        "start": {
          "line": 238,
          "column": 23
        },
        "end": {
          "line": 238,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 9092,
      "end": 9097,
      "loc": {
        "start": {
          "line": 238,
          "column": 27
        },
        "end": {
          "line": 238,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9097,
      "end": 9098,
      "loc": {
        "start": {
          "line": 238,
          "column": 32
        },
        "end": {
          "line": 238,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Vector3",
      "start": 9098,
      "end": 9105,
      "loc": {
        "start": {
          "line": 238,
          "column": 33
        },
        "end": {
          "line": 238,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9105,
      "end": 9106,
      "loc": {
        "start": {
          "line": 238,
          "column": 40
        },
        "end": {
          "line": 238,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9106,
      "end": 9107,
      "loc": {
        "start": {
          "line": 238,
          "column": 41
        },
        "end": {
          "line": 238,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9107,
      "end": 9108,
      "loc": {
        "start": {
          "line": 238,
          "column": 42
        },
        "end": {
          "line": 238,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lerpVectors",
      "start": 9108,
      "end": 9119,
      "loc": {
        "start": {
          "line": 238,
          "column": 43
        },
        "end": {
          "line": 238,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9119,
      "end": 9120,
      "loc": {
        "start": {
          "line": 238,
          "column": 54
        },
        "end": {
          "line": 238,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 9120,
      "end": 9122,
      "loc": {
        "start": {
          "line": 238,
          "column": 55
        },
        "end": {
          "line": 238,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9122,
      "end": 9123,
      "loc": {
        "start": {
          "line": 238,
          "column": 57
        },
        "end": {
          "line": 238,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 9123,
      "end": 9128,
      "loc": {
        "start": {
          "line": 238,
          "column": 58
        },
        "end": {
          "line": 238,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9128,
      "end": 9129,
      "loc": {
        "start": {
          "line": 238,
          "column": 63
        },
        "end": {
          "line": 238,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 9130,
      "end": 9132,
      "loc": {
        "start": {
          "line": 238,
          "column": 65
        },
        "end": {
          "line": 238,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9132,
      "end": 9133,
      "loc": {
        "start": {
          "line": 238,
          "column": 67
        },
        "end": {
          "line": 238,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 9133,
      "end": 9136,
      "loc": {
        "start": {
          "line": 238,
          "column": 68
        },
        "end": {
          "line": 238,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9136,
      "end": 9137,
      "loc": {
        "start": {
          "line": 238,
          "column": 71
        },
        "end": {
          "line": 238,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.5,
      "start": 9138,
      "end": 9141,
      "loc": {
        "start": {
          "line": 238,
          "column": 73
        },
        "end": {
          "line": 238,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9141,
      "end": 9142,
      "loc": {
        "start": {
          "line": 238,
          "column": 76
        },
        "end": {
          "line": 238,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9142,
      "end": 9143,
      "loc": {
        "start": {
          "line": 238,
          "column": 77
        },
        "end": {
          "line": 238,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 9156,
      "end": 9160,
      "loc": {
        "start": {
          "line": 239,
          "column": 12
        },
        "end": {
          "line": 239,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Arc",
      "start": 9161,
      "end": 9169,
      "loc": {
        "start": {
          "line": 239,
          "column": 17
        },
        "end": {
          "line": 239,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9169,
      "end": 9170,
      "loc": {
        "start": {
          "line": 239,
          "column": 25
        },
        "end": {
          "line": 239,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9187,
      "end": 9193,
      "loc": {
        "start": {
          "line": 240,
          "column": 16
        },
        "end": {
          "line": 240,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getArcAngles",
      "start": 9194,
      "end": 9206,
      "loc": {
        "start": {
          "line": 240,
          "column": 23
        },
        "end": {
          "line": 240,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9206,
      "end": 9207,
      "loc": {
        "start": {
          "line": 240,
          "column": 35
        },
        "end": {
          "line": 240,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 9207,
      "end": 9209,
      "loc": {
        "start": {
          "line": 240,
          "column": 36
        },
        "end": {
          "line": 240,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9209,
      "end": 9210,
      "loc": {
        "start": {
          "line": 240,
          "column": 38
        },
        "end": {
          "line": 240,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9210,
      "end": 9211,
      "loc": {
        "start": {
          "line": 240,
          "column": 39
        },
        "end": {
          "line": 240,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mid",
      "start": 9211,
      "end": 9214,
      "loc": {
        "start": {
          "line": 240,
          "column": 40
        },
        "end": {
          "line": 240,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9214,
      "end": 9215,
      "loc": {
        "start": {
          "line": 240,
          "column": 43
        },
        "end": {
          "line": 240,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "clone",
      "start": 9215,
      "end": 9220,
      "loc": {
        "start": {
          "line": 240,
          "column": 44
        },
        "end": {
          "line": 240,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9220,
      "end": 9221,
      "loc": {
        "start": {
          "line": 240,
          "column": 49
        },
        "end": {
          "line": 240,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9221,
      "end": 9222,
      "loc": {
        "start": {
          "line": 240,
          "column": 50
        },
        "end": {
          "line": 240,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9222,
      "end": 9223,
      "loc": {
        "start": {
          "line": 240,
          "column": 51
        },
        "end": {
          "line": 240,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 9236,
      "end": 9240,
      "loc": {
        "start": {
          "line": 241,
          "column": 12
        },
        "end": {
          "line": 241,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Circle",
      "start": 9241,
      "end": 9252,
      "loc": {
        "start": {
          "line": 241,
          "column": 17
        },
        "end": {
          "line": 241,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9252,
      "end": 9253,
      "loc": {
        "start": {
          "line": 241,
          "column": 28
        },
        "end": {
          "line": 241,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9270,
      "end": 9276,
      "loc": {
        "start": {
          "line": 242,
          "column": 16
        },
        "end": {
          "line": 242,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 9277,
      "end": 9280,
      "loc": {
        "start": {
          "line": 242,
          "column": 23
        },
        "end": {
          "line": 242,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 9281,
      "end": 9286,
      "loc": {
        "start": {
          "line": 242,
          "column": 27
        },
        "end": {
          "line": 242,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9286,
      "end": 9287,
      "loc": {
        "start": {
          "line": 242,
          "column": 32
        },
        "end": {
          "line": 242,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Vector3",
      "start": 9287,
      "end": 9294,
      "loc": {
        "start": {
          "line": 242,
          "column": 33
        },
        "end": {
          "line": 242,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9294,
      "end": 9295,
      "loc": {
        "start": {
          "line": 242,
          "column": 40
        },
        "end": {
          "line": 242,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.6,
      "start": 9295,
      "end": 9298,
      "loc": {
        "start": {
          "line": 242,
          "column": 41
        },
        "end": {
          "line": 242,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9298,
      "end": 9299,
      "loc": {
        "start": {
          "line": 242,
          "column": 44
        },
        "end": {
          "line": 242,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0.8,
      "start": 9300,
      "end": 9303,
      "loc": {
        "start": {
          "line": 242,
          "column": 46
        },
        "end": {
          "line": 242,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9303,
      "end": 9304,
      "loc": {
        "start": {
          "line": 242,
          "column": 49
        },
        "end": {
          "line": 242,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9304,
      "end": 9305,
      "loc": {
        "start": {
          "line": 242,
          "column": 50
        },
        "end": {
          "line": 242,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "multiplyScalar",
      "start": 9305,
      "end": 9319,
      "loc": {
        "start": {
          "line": 242,
          "column": 51
        },
        "end": {
          "line": 242,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9319,
      "end": 9320,
      "loc": {
        "start": {
          "line": 242,
          "column": 65
        },
        "end": {
          "line": 242,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 9320,
      "end": 9322,
      "loc": {
        "start": {
          "line": 242,
          "column": 66
        },
        "end": {
          "line": 242,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9322,
      "end": 9323,
      "loc": {
        "start": {
          "line": 242,
          "column": 68
        },
        "end": {
          "line": 242,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "radius",
      "start": 9323,
      "end": 9329,
      "loc": {
        "start": {
          "line": 242,
          "column": 69
        },
        "end": {
          "line": 242,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9329,
      "end": 9330,
      "loc": {
        "start": {
          "line": 242,
          "column": 75
        },
        "end": {
          "line": 242,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9330,
      "end": 9331,
      "loc": {
        "start": {
          "line": 242,
          "column": 76
        },
        "end": {
          "line": 242,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "add",
      "start": 9331,
      "end": 9334,
      "loc": {
        "start": {
          "line": 242,
          "column": 77
        },
        "end": {
          "line": 242,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9334,
      "end": 9335,
      "loc": {
        "start": {
          "line": 242,
          "column": 80
        },
        "end": {
          "line": 242,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "gp",
      "start": 9335,
      "end": 9337,
      "loc": {
        "start": {
          "line": 242,
          "column": 81
        },
        "end": {
          "line": 242,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9337,
      "end": 9338,
      "loc": {
        "start": {
          "line": 242,
          "column": 83
        },
        "end": {
          "line": 242,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "center",
      "start": 9338,
      "end": 9344,
      "loc": {
        "start": {
          "line": 242,
          "column": 84
        },
        "end": {
          "line": 242,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9344,
      "end": 9345,
      "loc": {
        "start": {
          "line": 242,
          "column": 90
        },
        "end": {
          "line": 242,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9345,
      "end": 9346,
      "loc": {
        "start": {
          "line": 242,
          "column": 91
        },
        "end": {
          "line": 242,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 9359,
      "end": 9366,
      "loc": {
        "start": {
          "line": 243,
          "column": 12
        },
        "end": {
          "line": 243,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9366,
      "end": 9367,
      "loc": {
        "start": {
          "line": 243,
          "column": 19
        },
        "end": {
          "line": 243,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9384,
      "end": 9390,
      "loc": {
        "start": {
          "line": 244,
          "column": 16
        },
        "end": {
          "line": 244,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 9391,
      "end": 9394,
      "loc": {
        "start": {
          "line": 244,
          "column": 23
        },
        "end": {
          "line": 244,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "THREE",
      "start": 9395,
      "end": 9400,
      "loc": {
        "start": {
          "line": 244,
          "column": 27
        },
        "end": {
          "line": 244,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9400,
      "end": 9401,
      "loc": {
        "start": {
          "line": 244,
          "column": 32
        },
        "end": {
          "line": 244,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Vector3",
      "start": 9401,
      "end": 9408,
      "loc": {
        "start": {
          "line": 244,
          "column": 33
        },
        "end": {
          "line": 244,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9408,
      "end": 9409,
      "loc": {
        "start": {
          "line": 244,
          "column": 40
        },
        "end": {
          "line": 244,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 9409,
      "end": 9410,
      "loc": {
        "start": {
          "line": 244,
          "column": 41
        },
        "end": {
          "line": 244,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9410,
      "end": 9411,
      "loc": {
        "start": {
          "line": 244,
          "column": 42
        },
        "end": {
          "line": 244,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 9412,
      "end": 9413,
      "loc": {
        "start": {
          "line": 244,
          "column": 44
        },
        "end": {
          "line": 244,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9413,
      "end": 9414,
      "loc": {
        "start": {
          "line": 244,
          "column": 45
        },
        "end": {
          "line": 244,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 9415,
      "end": 9416,
      "loc": {
        "start": {
          "line": 244,
          "column": 47
        },
        "end": {
          "line": 244,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9416,
      "end": 9417,
      "loc": {
        "start": {
          "line": 244,
          "column": 48
        },
        "end": {
          "line": 244,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9417,
      "end": 9418,
      "loc": {
        "start": {
          "line": 244,
          "column": 49
        },
        "end": {
          "line": 244,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9427,
      "end": 9428,
      "loc": {
        "start": {
          "line": 245,
          "column": 8
        },
        "end": {
          "line": 245,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9433,
      "end": 9434,
      "loc": {
        "start": {
          "line": 246,
          "column": 4
        },
        "end": {
          "line": 246,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getBaseEntityId",
      "start": 9440,
      "end": 9455,
      "loc": {
        "start": {
          "line": 248,
          "column": 4
        },
        "end": {
          "line": 248,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9455,
      "end": 9456,
      "loc": {
        "start": {
          "line": 248,
          "column": 19
        },
        "end": {
          "line": 248,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9456,
      "end": 9466,
      "loc": {
        "start": {
          "line": 248,
          "column": 20
        },
        "end": {
          "line": 248,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9466,
      "end": 9467,
      "loc": {
        "start": {
          "line": 248,
          "column": 30
        },
        "end": {
          "line": 248,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9468,
      "end": 9469,
      "loc": {
        "start": {
          "line": 248,
          "column": 32
        },
        "end": {
          "line": 248,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9478,
      "end": 9480,
      "loc": {
        "start": {
          "line": 249,
          "column": 8
        },
        "end": {
          "line": 249,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9481,
      "end": 9482,
      "loc": {
        "start": {
          "line": 249,
          "column": 11
        },
        "end": {
          "line": 249,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 9482,
      "end": 9488,
      "loc": {
        "start": {
          "line": 249,
          "column": 12
        },
        "end": {
          "line": 249,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9488,
      "end": 9489,
      "loc": {
        "start": {
          "line": 249,
          "column": 18
        },
        "end": {
          "line": 249,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9489,
      "end": 9499,
      "loc": {
        "start": {
          "line": 249,
          "column": 19
        },
        "end": {
          "line": 249,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9499,
      "end": 9500,
      "loc": {
        "start": {
          "line": 249,
          "column": 29
        },
        "end": {
          "line": 249,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 9501,
      "end": 9504,
      "loc": {
        "start": {
          "line": 249,
          "column": 31
        },
        "end": {
          "line": 249,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "number",
      "start": 9505,
      "end": 9513,
      "loc": {
        "start": {
          "line": 249,
          "column": 35
        },
        "end": {
          "line": 249,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9513,
      "end": 9514,
      "loc": {
        "start": {
          "line": 249,
          "column": 43
        },
        "end": {
          "line": 249,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9515,
      "end": 9525,
      "loc": {
        "start": {
          "line": 249,
          "column": 45
        },
        "end": {
          "line": 249,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9526,
      "end": 9527,
      "loc": {
        "start": {
          "line": 249,
          "column": 56
        },
        "end": {
          "line": 249,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 9528,
      "end": 9531,
      "loc": {
        "start": {
          "line": 249,
          "column": 58
        },
        "end": {
          "line": 249,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccref",
      "start": 9532,
      "end": 9537,
      "loc": {
        "start": {
          "line": 249,
          "column": 62
        },
        "end": {
          "line": 249,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9537,
      "end": 9538,
      "loc": {
        "start": {
          "line": 249,
          "column": 67
        },
        "end": {
          "line": 249,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9538,
      "end": 9542,
      "loc": {
        "start": {
          "line": 249,
          "column": 68
        },
        "end": {
          "line": 249,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9542,
      "end": 9543,
      "loc": {
        "start": {
          "line": 249,
          "column": 72
        },
        "end": {
          "line": 249,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sketcher",
      "start": 9543,
      "end": 9551,
      "loc": {
        "start": {
          "line": 249,
          "column": 73
        },
        "end": {
          "line": 249,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9551,
      "end": 9552,
      "loc": {
        "start": {
          "line": 249,
          "column": 81
        },
        "end": {
          "line": 249,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9553,
      "end": 9563,
      "loc": {
        "start": {
          "line": 249,
          "column": 83
        },
        "end": {
          "line": 249,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9563,
      "end": 9564,
      "loc": {
        "start": {
          "line": 249,
          "column": 93
        },
        "end": {
          "line": 249,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9564,
      "end": 9565,
      "loc": {
        "start": {
          "line": 249,
          "column": 94
        },
        "end": {
          "line": 249,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 9575,
      "end": 9578,
      "loc": {
        "start": {
          "line": 251,
          "column": 8
        },
        "end": {
          "line": 251,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "res",
      "start": 9579,
      "end": 9582,
      "loc": {
        "start": {
          "line": 251,
          "column": 12
        },
        "end": {
          "line": 251,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9583,
      "end": 9584,
      "loc": {
        "start": {
          "line": 251,
          "column": 16
        },
        "end": {
          "line": 251,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9585,
      "end": 9589,
      "loc": {
        "start": {
          "line": 251,
          "column": 18
        },
        "end": {
          "line": 251,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9589,
      "end": 9590,
      "loc": {
        "start": {
          "line": 251,
          "column": 22
        },
        "end": {
          "line": 251,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "baseEntityFor",
      "start": 9590,
      "end": 9603,
      "loc": {
        "start": {
          "line": 251,
          "column": 23
        },
        "end": {
          "line": 251,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9603,
      "end": 9604,
      "loc": {
        "start": {
          "line": 251,
          "column": 36
        },
        "end": {
          "line": 251,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 9604,
      "end": 9607,
      "loc": {
        "start": {
          "line": 251,
          "column": 37
        },
        "end": {
          "line": 251,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9607,
      "end": 9608,
      "loc": {
        "start": {
          "line": 251,
          "column": 40
        },
        "end": {
          "line": 251,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9608,
      "end": 9618,
      "loc": {
        "start": {
          "line": 251,
          "column": 41
        },
        "end": {
          "line": 251,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9618,
      "end": 9619,
      "loc": {
        "start": {
          "line": 251,
          "column": 51
        },
        "end": {
          "line": 251,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 9619,
      "end": 9621,
      "loc": {
        "start": {
          "line": 251,
          "column": 52
        },
        "end": {
          "line": 251,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9621,
      "end": 9622,
      "loc": {
        "start": {
          "line": 251,
          "column": 54
        },
        "end": {
          "line": 251,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9622,
      "end": 9623,
      "loc": {
        "start": {
          "line": 251,
          "column": 55
        },
        "end": {
          "line": 251,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9632,
      "end": 9634,
      "loc": {
        "start": {
          "line": 252,
          "column": 8
        },
        "end": {
          "line": 252,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9635,
      "end": 9636,
      "loc": {
        "start": {
          "line": 252,
          "column": 11
        },
        "end": {
          "line": 252,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "res",
      "start": 9636,
      "end": 9639,
      "loc": {
        "start": {
          "line": 252,
          "column": 12
        },
        "end": {
          "line": 252,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 9640,
      "end": 9643,
      "loc": {
        "start": {
          "line": 252,
          "column": 16
        },
        "end": {
          "line": 252,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 9644,
      "end": 9653,
      "loc": {
        "start": {
          "line": 252,
          "column": 20
        },
        "end": {
          "line": 252,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9653,
      "end": 9654,
      "loc": {
        "start": {
          "line": 252,
          "column": 29
        },
        "end": {
          "line": 252,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9667,
      "end": 9673,
      "loc": {
        "start": {
          "line": 253,
          "column": 12
        },
        "end": {
          "line": 253,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "res",
      "start": 9674,
      "end": 9677,
      "loc": {
        "start": {
          "line": 253,
          "column": 19
        },
        "end": {
          "line": 253,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9677,
      "end": 9678,
      "loc": {
        "start": {
          "line": 253,
          "column": 22
        },
        "end": {
          "line": 253,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 9688,
      "end": 9691,
      "loc": {
        "start": {
          "line": 255,
          "column": 8
        },
        "end": {
          "line": 255,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9692,
      "end": 9693,
      "loc": {
        "start": {
          "line": 255,
          "column": 12
        },
        "end": {
          "line": 255,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 9693,
      "end": 9696,
      "loc": {
        "start": {
          "line": 255,
          "column": 13
        },
        "end": {
          "line": 255,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 9697,
      "end": 9703,
      "loc": {
        "start": {
          "line": 255,
          "column": 17
        },
        "end": {
          "line": 255,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 9704,
      "end": 9706,
      "loc": {
        "start": {
          "line": 255,
          "column": 24
        },
        "end": {
          "line": 255,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9707,
      "end": 9717,
      "loc": {
        "start": {
          "line": 255,
          "column": 27
        },
        "end": {
          "line": 255,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9717,
      "end": 9718,
      "loc": {
        "start": {
          "line": 255,
          "column": 37
        },
        "end": {
          "line": 255,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 9718,
      "end": 9726,
      "loc": {
        "start": {
          "line": 255,
          "column": 38
        },
        "end": {
          "line": 255,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9726,
      "end": 9727,
      "loc": {
        "start": {
          "line": 255,
          "column": 46
        },
        "end": {
          "line": 255,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9740,
      "end": 9742,
      "loc": {
        "start": {
          "line": 256,
          "column": 12
        },
        "end": {
          "line": 256,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9743,
      "end": 9744,
      "loc": {
        "start": {
          "line": 256,
          "column": 15
        },
        "end": {
          "line": 256,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9744,
      "end": 9745,
      "loc": {
        "start": {
          "line": 256,
          "column": 16
        },
        "end": {
          "line": 256,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Point",
      "start": 9745,
      "end": 9755,
      "loc": {
        "start": {
          "line": 256,
          "column": 17
        },
        "end": {
          "line": 256,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9755,
      "end": 9756,
      "loc": {
        "start": {
          "line": 256,
          "column": 27
        },
        "end": {
          "line": 256,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Line",
      "start": 9757,
      "end": 9766,
      "loc": {
        "start": {
          "line": 256,
          "column": 29
        },
        "end": {
          "line": 256,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9766,
      "end": 9767,
      "loc": {
        "start": {
          "line": 256,
          "column": 38
        },
        "end": {
          "line": 256,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Arc",
      "start": 9768,
      "end": 9776,
      "loc": {
        "start": {
          "line": 256,
          "column": 40
        },
        "end": {
          "line": 256,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9776,
      "end": 9777,
      "loc": {
        "start": {
          "line": 256,
          "column": 48
        },
        "end": {
          "line": 256,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "CC_Circle",
      "start": 9778,
      "end": 9789,
      "loc": {
        "start": {
          "line": 256,
          "column": 50
        },
        "end": {
          "line": 256,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9789,
      "end": 9790,
      "loc": {
        "start": {
          "line": 256,
          "column": 61
        },
        "end": {
          "line": 256,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9790,
      "end": 9791,
      "loc": {
        "start": {
          "line": 256,
          "column": 62
        },
        "end": {
          "line": 256,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 9791,
      "end": 9798,
      "loc": {
        "start": {
          "line": 256,
          "column": 63
        },
        "end": {
          "line": 256,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9798,
      "end": 9799,
      "loc": {
        "start": {
          "line": 256,
          "column": 70
        },
        "end": {
          "line": 256,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 9799,
      "end": 9805,
      "loc": {
        "start": {
          "line": 256,
          "column": 71
        },
        "end": {
          "line": 256,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9805,
      "end": 9806,
      "loc": {
        "start": {
          "line": 256,
          "column": 77
        },
        "end": {
          "line": 256,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 9806,
      "end": 9811,
      "loc": {
        "start": {
          "line": 256,
          "column": 78
        },
        "end": {
          "line": 256,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9811,
      "end": 9812,
      "loc": {
        "start": {
          "line": 256,
          "column": 83
        },
        "end": {
          "line": 256,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 9813,
      "end": 9816,
      "loc": {
        "start": {
          "line": 256,
          "column": 85
        },
        "end": {
          "line": 256,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 9817,
      "end": 9818,
      "loc": {
        "start": {
          "line": 256,
          "column": 89
        },
        "end": {
          "line": 256,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 9818,
      "end": 9819,
      "loc": {
        "start": {
          "line": 256,
          "column": 90
        },
        "end": {
          "line": 256,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9819,
      "end": 9820,
      "loc": {
        "start": {
          "line": 256,
          "column": 91
        },
        "end": {
          "line": 256,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9837,
      "end": 9843,
      "loc": {
        "start": {
          "line": 257,
          "column": 16
        },
        "end": {
          "line": 257,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entity",
      "start": 9844,
      "end": 9850,
      "loc": {
        "start": {
          "line": 257,
          "column": 23
        },
        "end": {
          "line": 257,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9850,
      "end": 9851,
      "loc": {
        "start": {
          "line": 257,
          "column": 29
        },
        "end": {
          "line": 257,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 9851,
      "end": 9853,
      "loc": {
        "start": {
          "line": 257,
          "column": 30
        },
        "end": {
          "line": 257,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9853,
      "end": 9854,
      "loc": {
        "start": {
          "line": 257,
          "column": 32
        },
        "end": {
          "line": 257,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9864,
      "end": 9870,
      "loc": {
        "start": {
          "line": 259,
          "column": 8
        },
        "end": {
          "line": 259,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraint",
      "start": 9871,
      "end": 9881,
      "loc": {
        "start": {
          "line": 259,
          "column": 15
        },
        "end": {
          "line": 259,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9881,
      "end": 9882,
      "loc": {
        "start": {
          "line": 259,
          "column": 25
        },
        "end": {
          "line": 259,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 9882,
      "end": 9890,
      "loc": {
        "start": {
          "line": 259,
          "column": 26
        },
        "end": {
          "line": 259,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9890,
      "end": 9891,
      "loc": {
        "start": {
          "line": 259,
          "column": 34
        },
        "end": {
          "line": 259,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 9891,
      "end": 9892,
      "loc": {
        "start": {
          "line": 259,
          "column": 35
        },
        "end": {
          "line": 259,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9892,
      "end": 9893,
      "loc": {
        "start": {
          "line": 259,
          "column": 36
        },
        "end": {
          "line": 259,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9893,
      "end": 9894,
      "loc": {
        "start": {
          "line": 259,
          "column": 37
        },
        "end": {
          "line": 259,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 9894,
      "end": 9896,
      "loc": {
        "start": {
          "line": 259,
          "column": 38
        },
        "end": {
          "line": 259,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9896,
      "end": 9897,
      "loc": {
        "start": {
          "line": 259,
          "column": 40
        },
        "end": {
          "line": 259,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9902,
      "end": 9903,
      "loc": {
        "start": {
          "line": 260,
          "column": 4
        },
        "end": {
          "line": 260,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9904,
      "end": 9905,
      "loc": {
        "start": {
          "line": 261,
          "column": 0
        },
        "end": {
          "line": 261,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9906,
      "end": 9906,
      "loc": {
        "start": {
          "line": 262,
          "column": 0
        },
        "end": {
          "line": 262,
          "column": 0
        }
      }
    }
  ]
}